seg002:A4CC sub_373EC       proc far                ; CODE XREF: sub_365C8+35AP
seg002:A4CC                                         ; sub_38F66+261P
seg002:A4CC
seg002:A4CC var_1A          = word ptr -1Ah
seg002:A4CC var_18          = word ptr -18h
seg002:A4CC var_16          = byte ptr -16h
seg002:A4CC var_14          = word ptr -14h
seg002:A4CC var_12          = word ptr -12h
seg002:A4CC var_10          = word ptr -10h
seg002:A4CC var_E           = word ptr -0Eh
seg002:A4CC var_C           = word ptr -0Ch
seg002:A4CC var_A           = word ptr -0Ah
seg002:A4CC var_7           = byte ptr -7
seg002:A4CC var_6           = word ptr -6
seg002:A4CC var_4           = word ptr -4
seg002:A4CC var_2           = byte ptr -2
seg002:A4CC var_1           = byte ptr -1
seg002:A4CC arg_0           = word ptr  6
seg002:A4CC arg_2           = byte ptr  8
seg002:A4CC
seg002:A4CC                 enter   1Ah, 0
seg002:A4D0                 push    di
seg002:A4D1                 push    si
seg002:A4D2                 mov     si, [bp+arg_0]
seg002:A4D5                 imul    ax, [si], 2Ch
seg002:A4D8                 add     ax, 6816h ; <suspicious>
seg002:A4DB                 mov     [bp+var_12], ax
seg002:A4DE                 mov     [bp+var_C], 0
seg002:A4E3                 push    si
seg002:A4E4                 call    sub_3102E
seg002:A4E4
seg002:A4E9                 cmp     al, 7
seg002:A4EB                 jz      short loc_37418
seg002:A4EB
seg002:A4ED                 test    byte_434D8, 4
seg002:A4F2                 jnz     short loc_37418
seg002:A4F2
seg002:A4F4                 xor     di, di
seg002:A4F6                 jmp     short loc_3741B
seg002:A4F6
seg002:A4F8 ; ---------------------------------------------------------------------------
seg002:A4F8
seg002:A4F8 loc_37418:                              ; CODE XREF: sub_373EC+1Fj
seg002:A4F8                                         ; sub_373EC+26j
seg002:A4F8                 mov     di, 1
seg002:A4F8
seg002:A4FB
seg002:A4FB loc_3741B:                              ; CODE XREF: sub_373EC+2Aj
seg002:A4FB                 lea     ax, [bp+var_10]
seg002:A4FE                 push    ax
seg002:A4FF                 call    sub_206F8
seg002:A4FF
seg002:A504                 mov     bl, [bp+arg_2]
seg002:A507                 sub     bh, bh
seg002:A509                 mov     al, [bx+3678h] ; <suspicious>
seg002:A50D                 mov     [bp+var_7], al
seg002:A510                 mov     al, [si+0Dh]
seg002:A513                 cmp     [bx+369Ch], al ; <suspicious>
seg002:A517                 jbe     short loc_3744A
seg002:A517
seg002:A519                 push    ds
seg002:A51A                 push    offset s_JDnDgBd ; "ȤD"
seg002:A51D                 push    0
seg002:A51F                 call    sub_201A2
seg002:A51F
seg002:A524                 add     sp, 6
seg002:A527                 jmp     loc_379CF
seg002:A527
seg002:A52A ; ---------------------------------------------------------------------------
seg002:A52A
seg002:A52A loc_3744A:                              ; CODE XREF: sub_373EC+4Bj
seg002:A52A                 and     [bp+arg_2], 7Fh
seg002:A52E                 or      di, di
seg002:A530                 jnz     short loc_37476
seg002:A530
seg002:A532                 mov     bl, [bp+arg_2]
seg002:A535                 sub     bh, bh
seg002:A537                 shl     bx, 2
seg002:A53A                 push    word ptr [bx+35EAh] ; <suspicious>
seg002:A53E                 push    word ptr [bx+35E8h] ; <suspicious>
seg002:A542                 push    si
seg002:A543                 call    sub_362A2
seg002:A543
seg002:A548                 push    ax
seg002:A549                 push    ds
seg002:A54A                 push    offset s_SiESnp ; "%sϥ%sp"
seg002:A54D                 push    di
seg002:A54E                 call    sub_201A2
seg002:A54E
seg002:A553                 add     sp, 0Ch
seg002:A553
seg002:A556
seg002:A556 loc_37476:                              ; CODE XREF: sub_373EC+64j
seg002:A556                 cmp     [bp+arg_2], 0Eh
seg002:A55A                 jbe     short loc_3747F
seg002:A55A
seg002:A55C                 jmp     loc_3760B
seg002:A55C
seg002:A55F ; ---------------------------------------------------------------------------
seg002:A55F
seg002:A55F loc_3747F:                              ; CODE XREF: sub_373EC+8Ej
seg002:A55F                 mov     al, [bp+arg_2]
seg002:A562                 mov     cl, 5
seg002:A564                 sub     ah, ah
seg002:A566                 div     cl
seg002:A568                 mov     byte ptr [bp+var_4+1], al
seg002:A56B                 mov     al, [bp+arg_2]
seg002:A56E                 sub     ah, ah
seg002:A570                 div     cl
seg002:A572                 cmp     ah, 3
seg002:A575                 jb      short loc_3749B
seg002:A575
seg002:A577                 mov     al, 1
seg002:A579                 jmp     short loc_3749D
seg002:A579
seg002:A57B ; ---------------------------------------------------------------------------
seg002:A57B
seg002:A57B loc_3749B:                              ; CODE XREF: sub_373EC+A9j
seg002:A57B                 xor     al, al
seg002:A57B
seg002:A57D
seg002:A57D loc_3749D:                              ; CODE XREF: sub_373EC+ADj
seg002:A57D                 mov     [bp+var_1], al
seg002:A580                 cmp     byte ptr [bp+var_4+1], 0
seg002:A584                 jnz     short loc_374C3
seg002:A584
seg002:A586                 push    0CF6Ah
seg002:A589                 call    sub_30EF8
seg002:A589
seg002:A58E                 cmp     al, 2
seg002:A590                 jnz     short loc_374C3
seg002:A590
seg002:A592                 push    ds
seg002:A593                 push    offset s_LbdDgpriEDZBd ; "BѤϥΤD"
seg002:A596                 push    0
seg002:A598                 call    sub_201A2
seg002:A598
seg002:A59D                 add     sp, 6
seg002:A5A0                 jmp     loc_3796A
seg002:A5A0
seg002:A5A3 ; ---------------------------------------------------------------------------
seg002:A5A3
seg002:A5A3 loc_374C3:                              ; CODE XREF: sub_373EC+B8j
seg002:A5A3                                         ; sub_373EC+C4j
seg002:A5A3                 or      di, di
seg002:A5A5                 jz      short loc_374E0
seg002:A5A5
seg002:A5A7                 mov     bl, byte ptr [bp+var_4+1]
seg002:A5AA                 sub     bh, bh
seg002:A5AC                 add     bx, bx
seg002:A5AE                 push    word ptr [bx+39AAh] ; <suspicious>
seg002:A5B2                 push    ds
seg002:A5B3                 push    offset s_ESzDhbd_0 ; "%sĤHD"
seg002:A5B6                 push    0
seg002:A5B8                 call    sub_201A2
seg002:A5B8
seg002:A5BD                 add     sp, 8
seg002:A5BD
seg002:A5C0
seg002:A5C0 loc_374E0:                              ; CODE XREF: sub_373EC+D9j
seg002:A5C0                 mov     al, [si+2]
seg002:A5C3                 push    ax
seg002:A5C4                 mov     al, [bp+var_7]
seg002:A5C7                 or      al, 80h
seg002:A5C9                 push    ax
seg002:A5CA                 push    0
seg002:A5CC                 push    0CF90h
seg002:A5CF                 call    sub_326D4
seg002:A5CF
seg002:A5D4                 mov     [bp+var_2], al
seg002:A5D7                 cmp     al, 0FFh ; <suspicious>
seg002:A5D9                 jz      short loc_3752B
seg002:A5D9
seg002:A5DB                 mov     al, 0Eh
seg002:A5DD                 mul     [bp+var_2]
seg002:A5E0                 add     ax, 0D076h
seg002:A5E3                 mov     [bp+var_14], ax
seg002:A5E6                 push    ax
seg002:A5E7                 call    sub_30FBC
seg002:A5E7
seg002:A5EC                 mov     bx, ax
seg002:A5EE                 mov     ax, [bx]
seg002:A5F0                 mov     [bp+var_E], ax
seg002:A5F3                 lea     bx, [bp+var_E]
seg002:A5F6                 call    sub_37ED2
seg002:A5F6
seg002:A5FB                 mov     dl, al
seg002:A5FD                 mov     al, byte ptr [bp+var_4+1]
seg002:A600                 xor     bl, bl
seg002:A602                 call    sub_364A4
seg002:A602
seg002:A607                 or      ax, ax
seg002:A609                 jnz     short loc_3752E
seg002:A609
seg002:A60B
seg002:A60B loc_3752B:                              ; CODE XREF: sub_373EC+10Dj
seg002:A60B                 jmp     loc_3796A
seg002:A60B
seg002:A60E ; ---------------------------------------------------------------------------
seg002:A60E
seg002:A60E loc_3752E:                              ; CODE XREF: sub_373EC+13Dj
seg002:A60E                 or      di, di
seg002:A610                 jz      short loc_37550
seg002:A610
seg002:A612                 mov     bl, [bp+arg_2]
seg002:A615                 sub     bh, bh
seg002:A617                 shl     bx, 2
seg002:A61A                 push    word ptr [bx+35EAh] ; <suspicious>
seg002:A61E                 push    word ptr [bx+35E8h] ; <suspicious>
seg002:A622                 push    ds
seg002:A623                 push    offset s_Sdznpbd ; "%spD"
seg002:A626                 push    0
seg002:A628                 call    sub_201A2
seg002:A628
seg002:A62D                 add     sp, 0Ah
seg002:A62D
seg002:A630
seg002:A630 loc_37550:                              ; CODE XREF: sub_373EC+144j
seg002:A630                 mov     al, [si+2]
seg002:A633                 push    ax
seg002:A634                 mov     al, [bp+var_2]
seg002:A637                 push    ax
seg002:A638                 push    2
seg002:A63A                 mov     al, byte ptr [bp+var_4+1]
seg002:A63D                 shl     al, 4
seg002:A640                 or      al, [bp+var_7]
seg002:A643                 mov     [bp+var_16], al
seg002:A646                 push    ax
seg002:A647                 push    0D302h
seg002:A64A                 call    sub_3AA64
seg002:A64A
seg002:A64F                 cmp     [bp+var_1], 1
seg002:A653                 jz      short loc_37578
seg002:A653
seg002:A655                 jmp     loc_37603
seg002:A655
seg002:A658 ; ---------------------------------------------------------------------------
seg002:A658
seg002:A658 loc_37578:                              ; CODE XREF: sub_373EC+187j
seg002:A658                 push    [bp+var_14]
seg002:A65B                 call    sub_30FBC
seg002:A65B
seg002:A660                 mov     bx, ax
seg002:A662                 mov     ax, [bx]
seg002:A664                 mov     [bp+var_A], ax
seg002:A667                 mov     [bp+var_1], 0
seg002:A667
seg002:A66B
seg002:A66B loc_3758B:                              ; CODE XREF: sub_373EC+215j
seg002:A66B                 lea     bx, [bp+var_A]
seg002:A66E                 mov     al, [bp+var_1]
seg002:A671                 call    sub_37F10
seg002:A671
seg002:A676                 mov     bx, ax
seg002:A678                 mov     ax, [bx]
seg002:A67A                 mov     [bp+var_6], ax
seg002:A67D                 cmp     byte ptr [bp+var_6], 0FFh ; <suspicious>
seg002:A681                 jz      short loc_375FA
seg002:A681
seg002:A683                 lea     bx, [bp+var_6]
seg002:A686                 call    sub_37ED2
seg002:A686
seg002:A68B                 mov     dl, al
seg002:A68D                 mov     al, byte ptr [bp+var_4+1]
seg002:A690                 mov     bl, 1
seg002:A692                 call    sub_364A4
seg002:A692
seg002:A697                 or      ax, ax
seg002:A699                 jz      short loc_375FA
seg002:A699
seg002:A69B                 lea     bx, [bp+var_6]
seg002:A69E                 call    sub_37E94
seg002:A69E
seg002:A6A3                 mov     [bp+var_2], al
seg002:A6A6                 cmp     al, 0FFh ; <suspicious>
seg002:A6A8                 jz      short loc_375FA
seg002:A6A8
seg002:A6AA                 mov     al, 0Eh
seg002:A6AC                 mul     [bp+var_2]
seg002:A6AF                 add     ax, 0D076h
seg002:A6B2                 push    ax
seg002:A6B3                 call    sub_31016
seg002:A6B3
seg002:A6B8                 push    si
seg002:A6B9                 mov     di, ax
seg002:A6BB                 call    sub_31016
seg002:A6BB
seg002:A6C0                 cmp     di, ax
seg002:A6C2                 jz      short loc_375FA
seg002:A6C2
seg002:A6C4                 mov     al, [si+2]
seg002:A6C7                 push    ax
seg002:A6C8                 mov     al, [bp+var_2]
seg002:A6CB                 push    ax
seg002:A6CC                 push    2
seg002:A6CE                 mov     al, [bp+var_16]
seg002:A6D1                 push    ax
seg002:A6D2                 push    0D302h
seg002:A6D5                 call    sub_3AA64
seg002:A6D5
seg002:A6DA
seg002:A6DA loc_375FA:                              ; CODE XREF: sub_373EC+1B5j
seg002:A6DA                                         ; sub_373EC+1CDj
seg002:A6DA                                         ; sub_373EC+1DCj
seg002:A6DA                                         ; sub_373EC+1F6j
seg002:A6DA                 inc     [bp+var_1]
seg002:A6DD                 cmp     [bp+var_1], 4
seg002:A6E1                 jb      short loc_3758B
seg002:A6E1
seg002:A6E3
seg002:A6E3 loc_37603:                              ; CODE XREF: sub_373EC+189j
seg002:A6E3                                         ; sub_373EC+2B3j
seg002:A6E3                                         ; sub_373EC:loc_3773Bj
seg002:A6E3                                         ; sub_373EC+3A5j
seg002:A6E3                                         ; sub_373EC+47Fj
seg002:A6E3                                         ; sub_373EC+488j ...
seg002:A6E3                 mov     [bp+var_C], 1
seg002:A6E8                 jmp     loc_3796A
seg002:A6E8
seg002:A6EB ; ---------------------------------------------------------------------------
seg002:A6EB
seg002:A6EB loc_3760B:                              ; CODE XREF: sub_373EC+90j
seg002:A6EB                 cmp     [bp+arg_2], 11h
seg002:A6EF                 jbe     short loc_37614
seg002:A6EF
seg002:A6F1                 jmp     loc_3773E
seg002:A6F1
seg002:A6F4 ; ---------------------------------------------------------------------------
seg002:A6F4
seg002:A6F4 loc_37614:                              ; CODE XREF: sub_373EC+223j
seg002:A6F4                 or      di, di
seg002:A6F6                 jz      short loc_37626
seg002:A6F6
seg002:A6F8                 push    ds
seg002:A6F9                 push    offset s_IDhVBd_0 ; "ϼĤHVáD"
seg002:A6FC                 push    0
seg002:A6FE                 call    sub_201A2
seg002:A6FE
seg002:A703                 add     sp, 6
seg002:A703
seg002:A706
seg002:A706 loc_37626:                              ; CODE XREF: sub_373EC+22Aj
seg002:A706                 mov     al, [si+2]
seg002:A709                 push    ax
seg002:A70A                 mov     al, [bp+var_7]
seg002:A70D                 or      al, 80h
seg002:A70F                 push    ax
seg002:A710                 push    0
seg002:A712                 push    0CF90h
seg002:A715                 call    sub_326D4
seg002:A715
seg002:A71A                 mov     [bp+var_2], al
seg002:A71D                 cmp     al, 0FFh ; <suspicious>
seg002:A71F                 jnz     short loc_37644
seg002:A71F
seg002:A721                 jmp     loc_3796A
seg002:A721
seg002:A724 ; ---------------------------------------------------------------------------
seg002:A724
seg002:A724 loc_37644:                              ; CODE XREF: sub_373EC+253j
seg002:A724                 sub     ah, ah
seg002:A726                 imul    di, ax, 0Eh
seg002:A729                 add     di, 0D076h
seg002:A72D                 push    di
seg002:A72E                 call    sub_30FBC
seg002:A72E
seg002:A733                 mov     bx, ax
seg002:A735                 mov     ax, [bx]
seg002:A737                 mov     [bp+var_6], ax
seg002:A73A                 mov     al, [si+2]
seg002:A73D                 mov     dl, [bp+var_2]
seg002:A740                 mov     bl, 2
seg002:A742                 call    sub_363BC
seg002:A742
seg002:A747                 or      ax, ax
seg002:A749                 jz      short loc_37699
seg002:A749
seg002:A74B                 mov     al, byte ptr [bp+var_6]
seg002:A74E                 add     al, al
seg002:A750                 push    ax
seg002:A751                 mov     al, byte ptr [bp+var_6+1]
seg002:A754                 add     al, al
seg002:A756                 push    ax
seg002:A757                 push    4
seg002:A759                 push    0CF90h
seg002:A75C                 call    sub_33734
seg002:A75C
seg002:A761                 push    2
seg002:A763                 push    di
seg002:A764                 call    sub_36108
seg002:A764
seg002:A769                 push    di
seg002:A76A                 call    sub_361E2
seg002:A76A
seg002:A76F                 or      ax, ax
seg002:A771                 jz      short loc_37699
seg002:A771
seg002:A773                 push    di
seg002:A774                 call    sub_3460C
seg002:A774
seg002:A779
seg002:A779 loc_37699:                              ; CODE XREF: sub_373EC+27Dj
seg002:A779                                         ; sub_373EC+2A5j
seg002:A779                 cmp     [bp+arg_2], 11h
seg002:A77D                 jz      short loc_376A2
seg002:A77D
seg002:A77F                 jmp     loc_37603
seg002:A77F
seg002:A782 ; ---------------------------------------------------------------------------
seg002:A782
seg002:A782 loc_376A2:                              ; CODE XREF: sub_373EC+2B1j
seg002:A782                 mov     [bp+var_1], 0
seg002:A782
seg002:A786
seg002:A786 loc_376A6:                              ; CODE XREF: sub_373EC+34Cj
seg002:A786                 lea     bx, [bp+var_6]
seg002:A789                 mov     al, [bp+var_1]
seg002:A78C                 call    sub_37F10
seg002:A78C
seg002:A791                 mov     bx, ax
seg002:A793                 mov     ax, [bx]
seg002:A795                 mov     [bp-4], ax
seg002:A798                 cmp     byte ptr [bp+var_4], 0FFh ; <suspicious>
seg002:A79C                 jz      short loc_3772F
seg002:A79C
seg002:A79E                 lea     bx, [bp+var_4]
seg002:A7A1                 call    sub_37E94
seg002:A7A1
seg002:A7A6                 mov     [bp+var_2], al
seg002:A7A9                 cmp     al, 0FFh ; <suspicious>
seg002:A7AB                 jz      short loc_3772F
seg002:A7AB
seg002:A7AD                 mov     al, 0Eh
seg002:A7AF                 mul     [bp+var_2]
seg002:A7B2                 add     ax, 0D076h
seg002:A7B5                 mov     [bp+var_14], ax
seg002:A7B8                 push    ax
seg002:A7B9                 call    sub_31016
seg002:A7B9
seg002:A7BE                 push    si
seg002:A7BF                 mov     di, ax
seg002:A7C1                 call    sub_31016
seg002:A7C1
seg002:A7C6                 cmp     di, ax
seg002:A7C8                 jz      short loc_3772F
seg002:A7C8
seg002:A7CA                 mov     al, [si+2]
seg002:A7CD                 mov     dl, [bp+var_2]
seg002:A7D0                 mov     bl, 2
seg002:A7D2                 call    sub_363BC
seg002:A7D2
seg002:A7D7                 or      ax, ax
seg002:A7D9                 jz      short loc_3772F
seg002:A7D9
seg002:A7DB                 mov     al, byte ptr [bp+var_4]
seg002:A7DE                 add     al, al
seg002:A7E0                 push    ax
seg002:A7E1                 mov     al, byte ptr [bp+var_4+1]
seg002:A7E4                 add     al, al
seg002:A7E6                 push    ax
seg002:A7E7                 push    4
seg002:A7E9                 push    0CF90h
seg002:A7EC                 call    sub_33734
seg002:A7EC
seg002:A7F1                 push    2
seg002:A7F3                 push    [bp+var_14]
seg002:A7F6                 call    sub_36108
seg002:A7F6
seg002:A7FB                 push    [bp+var_14]
seg002:A7FE                 call    sub_361E2
seg002:A7FE
seg002:A803                 or      ax, ax
seg002:A805                 jz      short loc_3772F
seg002:A805
seg002:A807                 push    [bp+var_14]
seg002:A80A                 call    sub_3460C
seg002:A80A
seg002:A80F
seg002:A80F loc_3772F:                              ; CODE XREF: sub_373EC+2D0j
seg002:A80F                                         ; sub_373EC+2DFj
seg002:A80F                                         ; sub_373EC+2FCj
seg002:A80F                                         ; sub_373EC+30Dj
seg002:A80F                                         ; sub_373EC+339j
seg002:A80F                 inc     [bp+var_1]
seg002:A812                 cmp     [bp+var_1], 4
seg002:A816                 jnb     short loc_3773B
seg002:A816
seg002:A818                 jmp     loc_376A6
seg002:A818
seg002:A81B ; ---------------------------------------------------------------------------
seg002:A81B
seg002:A81B loc_3773B:                              ; CODE XREF: sub_373EC+34Aj
seg002:A81B                 jmp     loc_37603
seg002:A81B
seg002:A81E ; ---------------------------------------------------------------------------
seg002:A81E
seg002:A81E loc_3773E:                              ; CODE XREF: sub_373EC+225j
seg002:A81E                 mov     [bp+var_6], di
seg002:A821                 mov     di, [bp+arg_0]
seg002:A824                 mov     dx, [bp+var_6]
seg002:A827                 cmp     [bp+arg_2], 14h
seg002:A82B                 jbe     short loc_37750
seg002:A82B
seg002:A82D                 jmp     loc_37877
seg002:A82D
seg002:A830 ; ---------------------------------------------------------------------------
seg002:A830
seg002:A830 loc_37750:                              ; CODE XREF: sub_373EC+35Fj
seg002:A830                 or      dx, dx
seg002:A832                 jz      short loc_37762
seg002:A832
seg002:A834                 push    ds
seg002:A835                 push    offset s_NloDhdhoBd ; "ĤHhD"
seg002:A838                 push    0
seg002:A83A                 call    sub_201A2
seg002:A83A
seg002:A83F                 add     sp, 6
seg002:A83F
seg002:A842
seg002:A842 loc_37762:                              ; CODE XREF: sub_373EC+366j
seg002:A842                 mov     al, [di+2]
seg002:A845                 push    ax
seg002:A846                 mov     al, [bp+var_7]
seg002:A849                 or      al, 80h
seg002:A84B                 push    ax
seg002:A84C                 push    0
seg002:A84E                 push    0CF90h
seg002:A851                 call    sub_326D4
seg002:A851
seg002:A856                 mov     [bp+var_2], al
seg002:A859                 cmp     al, 0FFh ; <suspicious>
seg002:A85B                 jnz     short loc_37780
seg002:A85B
seg002:A85D                 jmp     loc_3796A
seg002:A85D
seg002:A860 ; ---------------------------------------------------------------------------
seg002:A860
seg002:A860 loc_37780:                              ; CODE XREF: sub_373EC+38Fj
seg002:A860                 mov     al, [di+2]
seg002:A863                 mov     dl, [bp+var_2]
seg002:A866                 mov     bl, 4
seg002:A868                 call    sub_363BC
seg002:A868
seg002:A86D                 or      ax, ax
seg002:A86F                 jnz     short loc_37794
seg002:A86F
seg002:A871                 jmp     loc_37603
seg002:A871
seg002:A874 ; ---------------------------------------------------------------------------
seg002:A874
seg002:A874 loc_37794:                              ; CODE XREF: sub_373EC+3A3j
seg002:A874                 mov     al, 0Eh
seg002:A876                 mul     [bp+var_2]
seg002:A879                 add     ax, 0D076h
seg002:A87C                 mov     [bp+var_A], ax
seg002:A87F                 push    ax
seg002:A880                 mov     si, ax
seg002:A882                 call    sub_30FBC
seg002:A882
seg002:A887                 mov     bx, ax
seg002:A889                 mov     ax, [bx]
seg002:A88B                 mov     [bp+var_C], ax
seg002:A88E                 imul    cx, [di], 2Ch
seg002:A891                 add     cx, 6816h ; <suspicious>
seg002:A895                 push    cx
seg002:A896                 call    sub_23A3A
seg002:A896
seg002:A89B                 mov     cl, 0Ah
seg002:A89D                 sub     ah, ah
seg002:A89F                 div     cl
seg002:A8A1                 sub     ah, ah
seg002:A8A3                 mov     dx, si
seg002:A8A5                 mov     si, ax
seg002:A8A7                 mov     al, [bp+var_7]
seg002:A8AA                 inc     ax
seg002:A8AB                 inc     ax
seg002:A8AC                 imul    ax, 0Ah
seg002:A8AF                 add     si, ax
seg002:A8B1                 push    dx
seg002:A8B2                 mov     [bp+var_18], dx
seg002:A8B5                 call    sub_30F82
seg002:A8B5
seg002:A8BA                 imul    ax, 2Ch
seg002:A8BD                 add     ax, 6816h ; <suspicious>
seg002:A8C0                 push    ax
seg002:A8C1                 call    sub_23A3A
seg002:A8C1
seg002:A8C6                 mov     cl, 0Ah
seg002:A8C8                 sub     ah, ah
seg002:A8CA                 div     cl
seg002:A8CC                 sub     ah, ah
seg002:A8CE                 sub     si, ax
seg002:A8D0                 push    [bp+var_18]
seg002:A8D3                 call    sub_362B8
seg002:A8D3
seg002:A8D8                 sub     ah, ah
seg002:A8DA                 push    0
seg002:A8DC                 push    ax
seg002:A8DD                 mov     ax, si
seg002:A8DF                 sub     dx, dx
seg002:A8E1                 call    sub_20BA4
seg002:A8E1
seg002:A8E6                 mov     si, ax
seg002:A8E8                 mov     al, byte ptr [bp+var_C]
seg002:A8EB                 add     al, al
seg002:A8ED                 push    ax
seg002:A8EE                 mov     al, byte ptr [bp+var_C+1]
seg002:A8F1                 add     al, al
seg002:A8F3                 push    ax
seg002:A8F4                 push    3
seg002:A8F6                 push    0CF90h
seg002:A8F9                 call    sub_33734
seg002:A8F9
seg002:A8FE                 mov     [bp+var_4], 3
seg002:A903                 mov     di, [bp+var_4]
seg002:A906                 mov     [bp+var_6], si
seg002:A906
seg002:A909
seg002:A909 loc_37829:                              ; CODE XREF: sub_373EC+44Aj
seg002:A909                 mov     al, [bp+var_2]
seg002:A90C                 mov     dx, si
seg002:A90E                 mov     bl, 6
seg002:A910                 call    sub_3111A
seg002:A910
seg002:A915                 dec     di
seg002:A916                 jnz     short loc_37829
seg002:A916
seg002:A918                 mov     di, [bp+var_A]
seg002:A91B                 push    di
seg002:A91C                 call    sub_362A2
seg002:A91C
seg002:A921                 push    ax
seg002:A922                 push    ds
seg002:A923                 push    offset s_SkDhoNDunDfbd ; "%shȤUFD"
seg002:A926                 push    0
seg002:A928                 call    sub_201A2
seg002:A928
seg002:A92D                 add     sp, 8
seg002:A930                 push    di
seg002:A931                 call    sub_362B8
seg002:A931
seg002:A936                 sub     ah, ah
seg002:A938                 sub     ax, si
seg002:A93A                 push    ax
seg002:A93B                 push    di
seg002:A93C                 call    sub_34A9E
seg002:A93C
seg002:A941                 push    di
seg002:A942                 call    sub_361E2
seg002:A942
seg002:A947                 or      ax, ax
seg002:A949                 jnz     short loc_3786E
seg002:A949
seg002:A94B                 jmp     loc_37603
seg002:A94B
seg002:A94E ; ---------------------------------------------------------------------------
seg002:A94E
seg002:A94E loc_3786E:                              ; CODE XREF: sub_373EC+47Dj
seg002:A94E                 push    di
seg002:A94F                 call    sub_3460C
seg002:A94F
seg002:A954                 jmp     loc_37603
seg002:A954
seg002:A957 ; ---------------------------------------------------------------------------
seg002:A957
seg002:A957 loc_37877:                              ; CODE XREF: sub_373EC+361j
seg002:A957                 cmp     [bp+arg_2], 1Dh
seg002:A95B                 jbe     short loc_37880
seg002:A95B
seg002:A95D                 jmp     loc_3793D
seg002:A95D
seg002:A960 ; ---------------------------------------------------------------------------
seg002:A960
seg002:A960 loc_37880:                              ; CODE XREF: sub_373EC+48Fj
seg002:A960                 cmp     [bp+arg_2], 1Bh
seg002:A964                 jb      short loc_3788C
seg002:A964
seg002:A966                 mov     [bp+var_1], 3
seg002:A96A                 jmp     short loc_3789B
seg002:A96A
seg002:A96C ; ---------------------------------------------------------------------------
seg002:A96C
seg002:A96C loc_3788C:                              ; CODE XREF: sub_373EC+498j
seg002:A96C                 cmp     [bp+arg_2], 18h
seg002:A970                 jb      short loc_37896
seg002:A970
seg002:A972                 mov     al, 1
seg002:A974                 jmp     short loc_37898
seg002:A974
seg002:A976 ; ---------------------------------------------------------------------------
seg002:A976
seg002:A976 loc_37896:                              ; CODE XREF: sub_373EC+4A4j
seg002:A976                 mov     al, 2
seg002:A976
seg002:A978
seg002:A978 loc_37898:                              ; CODE XREF: sub_373EC+4A8j
seg002:A978                 mov     [bp+var_1], al
seg002:A978
seg002:A97B
seg002:A97B loc_3789B:                              ; CODE XREF: sub_373EC+49Ej
seg002:A97B                 or      dx, dx
seg002:A97D                 jz      short loc_378B8
seg002:A97D
seg002:A97F                 mov     bl, [bp+var_1]
seg002:A982                 sub     bh, bh
seg002:A984                 add     bx, bx
seg002:A986                 push    word ptr [bx+3992h] ; <suspicious>
seg002:A98A                 push    ds
seg002:A98B                 push    offset s_L_Sbd_0 ; "_%sD"
seg002:A98E                 push    0
seg002:A990                 call    sub_201A2
seg002:A990
seg002:A995                 add     sp, 8
seg002:A995
seg002:A998
seg002:A998 loc_378B8:                              ; CODE XREF: sub_373EC+4B1j
seg002:A998                 mov     bx, [bp+arg_0]
seg002:A99B                 mov     al, [bx+2]
seg002:A99E                 push    ax
seg002:A99F                 mov     al, [bp+var_7]
seg002:A9A2                 or      al, 80h
seg002:A9A4                 push    ax
seg002:A9A5                 push    1
seg002:A9A7                 push    0CF90h
seg002:A9AA                 call    sub_326D4
seg002:A9AA
seg002:A9AF                 mov     [bp+var_2], al
seg002:A9B2                 cmp     al, 0FFh ; <suspicious>
seg002:A9B4                 jz      short loc_378EB
seg002:A9B4
seg002:A9B6                 sub     ah, ah
seg002:A9B8                 imul    di, ax, 0Eh
seg002:A9BB                 add     di, 0D076h
seg002:A9BF                 mov     dl, [bp+var_1]
seg002:A9C2                 call    sub_36312
seg002:A9C2
seg002:A9C7                 or      ax, ax
seg002:A9C9                 jnz     short loc_378ED
seg002:A9C9
seg002:A9CB
seg002:A9CB loc_378EB:                              ; CODE XREF: sub_373EC+4E8j
seg002:A9CB                 jmp     short loc_3796A
seg002:A9CB
seg002:A9CD ; ---------------------------------------------------------------------------
seg002:A9CD
seg002:A9CD loc_378ED:                              ; CODE XREF: sub_373EC+4FDj
seg002:A9CD                 mov     [bp+var_1A], di
seg002:A9D0                 cmp     [bp+var_7], 2
seg002:A9D4                 jnz     short loc_378FB
seg002:A9D4
seg002:A9D6                 mov     ax, 3C41h ; <suspicious>
seg002:A9D9                 jmp     short loc_378FE
seg002:A9D9
seg002:A9DB ; --------------------------------------------------------------------------- ; <suspicious>
seg002:A9DB  ; <suspicious>
seg002:A9DB loc_378FB: ; <suspicious>               ; CODE XREF: sub_373EC+508j
seg002:A9DB                 mov     ax, 3C46h ; <suspicious>
seg002:A9DB  ; <suspicious>
seg002:A9DE
seg002:A9DE loc_378FE:                              ; CODE XREF: sub_373EC+50Dj
seg002:A9DE                 push    ax
seg002:A9DF                 mov     bl, [bp+var_1]
seg002:A9E2                 sub     bh, bh
seg002:A9E4                 add     bx, bx
seg002:A9E6                 push    word ptr [bx+3992h] ; <suspicious>
seg002:A9EA                 push    di
seg002:A9EB                 call    sub_362A2
seg002:A9EB
seg002:A9F0                 push    ax
seg002:A9F1                 push    ds
seg002:A9F2                 push    offset s_SkSS   ; "%s%s%s"
seg002:A9F5                 push    0
seg002:A9F7                 call    sub_201A2
seg002:A9F7
seg002:A9FC                 add     sp, 0Ch
seg002:A9FF                 mov     al, [bp+var_7]
seg002:AA02                 shl     al, 4
seg002:AA05                 or      al, [bp+var_1]
seg002:AA08                 push    ax
seg002:AA09                 mov     bx, [bp+arg_0]
seg002:AA0C                 mov     al, [bx+2]
seg002:AA0F                 push    ax
seg002:AA10                 push    0
seg002:AA12                 push    [bp+var_1A]
seg002:AA15                 call    sub_379D6
seg002:AA15
seg002:AA1A                 jmp     loc_37603
seg002:AA1A
seg002:AA1D ; --------------------------------------------------------------------------- ; <suspicious>
seg002:AA1D  ; <suspicious>
seg002:AA1D loc_3793D: ; <suspicious>               ; CODE XREF: sub_373EC+491j
seg002:AA1D                 cmp     [bp+arg_2], 23h ; '#' ; <suspicious>
seg002:AA21                 ja      short loc_3796A
seg002:AA21
seg002:AA23                 mov     al, [bp+arg_2]
seg002:AA26                 sub     ah, ah
seg002:AA28                 sub     ax, 1Eh
seg002:AA2B                 mov     cx, 3
seg002:AA2E                 cwd
seg002:AA2F                 idiv    cx
seg002:AA31                 push    dx
seg002:AA32                 cmp     [bp+arg_2], 20h ; ' ' ; <suspicious>
seg002:AA36                 jbe     short loc_3795C
seg002:AA36
seg002:AA38                 mov     al, 1
seg002:AA3A                 jmp     short loc_3795E
seg002:AA3A
seg002:AA3C ; ---------------------------------------------------------------------------
seg002:AA3C
seg002:AA3C loc_3795C:                              ; CODE XREF: sub_373EC+56Aj
seg002:AA3C                 mov     al, 2
seg002:AA3C
seg002:AA3E
seg002:AA3E loc_3795E:                              ; CODE XREF: sub_373EC+56Ej
seg002:AA3E                 push    ax
seg002:AA3F                 push    1
seg002:AA41                 push    di
seg002:AA42                 call    sub_37C0C
seg002:AA42
seg002:AA47                 mov     [bp+var_C], ax
seg002:AA47
seg002:AA4A
seg002:AA4A loc_3796A:                              ; CODE XREF: sub_373EC+D4j
seg002:AA4A                                         ; sub_373EC:loc_3752Bj
seg002:AA4A                                         ; sub_373EC+21Cj
seg002:AA4A                                         ; sub_373EC+255j
seg002:AA4A                                         ; sub_373EC+391j
seg002:AA4A                                         ; sub_373EC:loc_378EBj ...
seg002:AA4A                 cmp     [bp+var_C], 0
seg002:AA4E                 jz      short loc_379CF
seg002:AA4E
seg002:AA50                 mov     [bp+var_2], 8
seg002:AA54                 cmp     [bp+arg_2], 0Fh
seg002:AA58                 jb      short loc_379B7
seg002:AA58
seg002:AA5A                 cmp     [bp+arg_2], 14h
seg002:AA5E                 jbe     short loc_3799D
seg002:AA5E
seg002:AA60                 cmp     [bp+arg_2], 1Dh
seg002:AA64                 ja      short loc_3799D
seg002:AA64
seg002:AA66                 push    [bp+arg_0]
seg002:AA69                 call    sub_3628C
seg002:AA69
seg002:AA6E                 mov     [bp+var_1], al
seg002:AA71                 cmp     al, 0Ch
seg002:AA73                 jz      short loc_37999
seg002:AA73
seg002:AA75                 cmp     al, 12h
seg002:AA77                 jnz     short loc_3799D
seg002:AA77
seg002:AA79
seg002:AA79 loc_37999:                              ; CODE XREF: sub_373EC+5A7j
seg002:AA79                 mov     [bp+var_2], 0Ch
seg002:AA79
seg002:AA7D
seg002:AA7D loc_3799D:                              ; CODE XREF: sub_373EC+592j
seg002:AA7D                                         ; sub_373EC+598j
seg002:AA7D                                         ; sub_373EC+5ABj
seg002:AA7D                 push    [bp+var_12]
seg002:AA80                 call    sub_29530
seg002:AA80
seg002:AA85                 sub     ah, ah
seg002:AA87                 mov     cl, [bp+var_2]
seg002:AA8A                 sub     ch, ch
seg002:AA8C                 add     ax, cx
seg002:AA8E                 push    ax
seg002:AA8F                 push    [bp+var_12]
seg002:AA92                 call    sub_23412
seg002:AA92
seg002:AA97
seg002:AA97 loc_379B7:                              ; CODE XREF: sub_373EC+58Cj
seg002:AA97                 mov     bl, [bp+arg_2]
seg002:AA9A                 sub     bh, bh
seg002:AA9C                 mov     al, [bx+369Ch] ; <suspicious>
seg002:AAA0                 mov     bx, [bp+arg_0]
seg002:AAA3                 sub     [bx+0Dh], al
seg002:AAA6                 push    80h ; '' ; <suspicious>
seg002:AAA9                 push    bx
seg002:AAAA                 call    sub_36108
seg002:AAAA
seg002:AAAF
seg002:AAAF loc_379CF:                              ; CODE XREF: sub_373EC+5Bj
seg002:AAAF                                         ; sub_373EC+582j
seg002:AAAF                 pop     si
seg002:AAB0                 pop     di
seg002:AAB1                 leave
seg002:AAB2                 retf    4
seg002:AAB2
seg002:AAB2 sub_373EC       endp
