Function at 0x438c24
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x2040
call fcn.004a98b0
mov eax, dword [0x4dd52c]
and word [ebp - 0x1024], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 4], eax
mov ebx, 0x3ff
xor eax, eax
mov ecx, ebx
lea edi, [ebp - 0x1022]
rep stosd dword es:[edi], eax
push 7
push esi
stosw word es:[edi], ax
call fcn.004a53d4
push esi
mov dword [ebp - 0x2028], eax
call fcn.00436631
cmp eax, 1
mov dword [esi + 0x1e380], eax
jne 0x438dd2
push 0xe5
push esi
call fcn.004a53d4
cmp dword [esi + 0x1dfa8], 1
mov dword [ebp - 0x2030], eax
jne 0x438db9
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x438db9
cmp eax, 2
jb 0x438db9
and word [ebp - 0x2024], 0
push dword [ebp - 0x2030]
xor eax, eax
mov ecx, ebx
lea edi, [ebp - 0x2022]
rep stosd dword es:[edi], eax
push 0x407b30
stosw word es:[edi], ax
lea eax, [ebp - 0x2024]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x438db9
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x438db9
cmp eax, 2
jb 0x438db9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2040]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1024]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2024]
push eax
movzx eax, word [ebp - 0x2032]
push 0x4072d0
push eax
movzx eax, word [ebp - 0x2034]
push eax
movzx eax, word [ebp - 0x2036]
push eax
movzx eax, word [ebp - 0x2038]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1024]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1024]
push eax
jne 0x438d9b
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x438db9
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [ebp - 0x2030], 1
jne 0x438dd2
lea eax, [esi + 0xd8e]
cmp word [eax], 1
jne 0x438dd2
and word [eax], 0
xor edi, edi
push esi
xor ebx, ebx
inc edi
call fcn.00490acb
cmp word [esi + 0x52], 0xb
jne 0x438e1e
cmp word [esi + 0x9e1], 0x5a
jne 0x438e1e
mov word [esi + 0x140], bx
mov word [esi + 0x364], bx
mov word [esi + 0x368], bx
mov byte [esi + 0xd10], bl
mov word [esi + 0x36a], bx
mov word [esi + 0x9cd], bx
mov word [esi + 0x9cf], bx
cmp word [esi + 0x9d5], 0x64
jne 0x438e2f
mov word [esi + 0x9cd], bx
cmp word [esi + 0x9dd], bx
jle 0x438e46
cmp word [esi + 0x5e], 0x4b0
jne 0x438e46
mov word [esi + 0x5e], 0x258
cmp word [esi + 0x684], bx
jne 0x438e57
mov ax, word [esi + 0x5e]
mov word [esi + 0x64], ax
cmp word [esi + 0x154], 3
jne 0x438e85
lea eax, [esi + 0x156]
cmp word [eax], bx
je 0x438e85
push eax
lea eax, [esi + 0x370]
push eax
mov word [esi + 0x578], 2
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
cmp word [esi + 0x362], 2
jne 0x438e96
mov word [esi + 0x360], di
push edi
push esi
call fcn.004a53d4
cmp eax, edi
jne 0x438ed2
cmp word [esi + 0x9e7], bx
jne 0x438ecb
cmp dword [ebp - 0x2028], ebx
mov word [esi + 0x5da], bx
jne 0x438ed2
mov word [esi + 0x368], bx
mov byte [esi + 0xd10], 0
mov word [esi + 0x62], di
mov word [esi + 0x57a], bx
cmp word [esi + 0x9db], bx
je 0x438ef5
cmp word [esi + 0x18934], 4
je 0x438ef5
mov word [esi + 0x360], di
mov word [esi + 0x362], 2
cmp word [esi + 0x360], bx
je 0x438f07
mov word [esi + 0x362], 2
cmp word [esi + 0x9d3], 5
jne 0x438f35
cmp word [esi + 0xd60], bx
jne 0x438f3c
mov ax, word [esi + 0x140]
cmp ax, bx
jle 0x438f35
movsx eax, ax
mov al, byte [eax + 0x4dcf40]
mov byte [esi + 0x18933], al
cmp word [esi + 0xd60], bx
jle 0x438f53
mov word [esi + 0x9d3], bx
mov word [esi + 0x140], bx
mov byte [esi + 0x18933], 0
mov ax, word [esi + 0x57a]
cmp ax, di
je 0x438f65
cmp ax, 2
jne 0x438f6b
mov dword [esi + 0x19778], edi
cmp dword [ebp - 0x2028], edi
jne 0x438f94
cmp word [esi + 0x9e7], di
je 0x438f94
cmp word [esi + 0x368], di
je 0x438f8e
cmp byte [esi + 0xd10], 0
je 0x438f94
mov dword [esi + 0x19778], edi
push esi
call fcn.00434f19
cmp word [esi + 0x368], 2
mov dword [esi + 0x1893c], eax
jne 0x438fda
cmp byte [esi + 0xde5], 0
mov dword [esi + 0x1d8a0], edi
mov word [esi + 0x368], bx
mov byte [esi + 0xd10], 0
je 0x438fda
push 0x4f
push esi
call fcn.004a5754
cmp eax, edi
jne 0x438fda
mov word [esi + 0x584], di
cmp dword [esi + 0x1d8a0], edi
jne 0x439015
cmp dword [ebp - 0x2028], edi
jne 0x439005
cmp word [esi + 0x9e7], di
je 0x439005
mov word [esi + 0x57a], 2
mov word [esi + 0x5da], bx
jmp 0x439015
mov word [esi + 0x5da], 2
mov word [esi + 0x57a], bx
mov cx, word [esi + 0x368]
cmp cx, bx
je 0x439078
cmp byte [esi + 0xd10], 0
jne 0x439078
mov al, byte [esi + 0xd12]
test al, al
jbe 0x439078
movzx ax, al
mov word [esi + 0x368], bx
mov byte [esi + 0xd10], 6
mov word [esi + 0x140], di
mov word [esi + 0x580], ax
jmp 0x4390ba
mov word [esi + 0x5da], 2
mov word [esi + 0x57a], bx
mov word [esi + 0xa2b], bx
mov word [esi + 0x62], 3
jmp 0x439152
mov al, byte [esi + 0xd10]
test al, al
je 0x4390dd
cmp al, 6
mov word [esi + 0x368], bx
je 0x43909c
test al, al
jbe 0x43909c
movzx ax, al
mov word [esi + 0x140], ax
movzx ax, byte [esi + 0xd12]
mov word [esi + 0x580], ax
movzx ax, byte [esi + 0xd11]
mov word [esi + 0x9d3], ax
cmp dword [ebp - 0x2028], edi
jne 0x439056
cmp word [esi + 0x9e7], di
je 0x439056
mov word [esi + 0x57a], 2
mov word [esi + 0x5da], bx
jmp 0x439066
cmp cx, bx
je 0x43914b
cmp dword [ebp - 0x2028], edi
mov byte [esi + 0xd10], 0
mov word [esi + 0x140], di
jne 0x439113
cmp word [esi + 0x9e7], di
je 0x439113
mov word [esi + 0x57a], 2
mov word [esi + 0x5da], bx
jmp 0x439123
mov word [esi + 0x5da], 2
mov word [esi + 0x57a], bx
cmp word [esi + 0xd8e], bx
mov word [esi + 0xa2b], bx
mov word [esi + 0x62], 3
jne 0x439152
mov word [esi + 0x580], bx
mov word [esi + 0x9d3], 4
jmp 0x439152
mov byte [esi + 0xc97], 0
cmp word [esi + 0x36a], bx
je 0x43926a
push esi
mov word [esi + 0x57a], bx
mov word [esi + 0x5da], bx
mov word [esi + 0x580], bx
call fcn.0049d7fd
cmp dword [esi + 0x1893c], ebx
jne 0x439231
mov ax, word [esi + 0x684]
cmp ax, bx
je 0x43919f
cmp ax, di
jne 0x4391ab
cmp dword [esi + 0x189d0], ebx
jne 0x4391ab
mov ecx, dword [esi + 0x18928]
mov dword [esi + 0x16294], ecx
cmp ax, bx
jne 0x439252
mov ax, word [esi + 0x36a]
cmp ax, 4
mov word [esi + 0x360], di
mov word [esi + 0x362], 2
jne 0x4391fc
movsx eax, word [esi + 0x36c]
mov dword [ebp - 0x2028], eax
push ecx
push ecx
fild dword [ebp - 0x2028]
fmul qword [0x407b28]
fstp qword [esp]
call dword [sym.imp.msvcrt.dll_ceil]
pop ecx
pop ecx
call fcn.004a9810
cmp ax, di
lea eax, [esi + 0x16294]
fld dword [eax]
jne 0x43921d
fmul qword [0x407b20]
mov dword [esi + 0x16298], 0x40800000
fstp dword [eax]
jmp 0x439252
fmul qword [0x407b18]
mov dword [esi + 0x16298], 0x41000000
fstp dword [eax]
jmp 0x439252
cmp word [esi + 0x360], bx
je 0x439241
mov word [esi + 0x360], bx
cmp word [esi + 0x362], 2
jne 0x439252
mov word [esi + 0x362], di
cmp word [esi + 0x364], bx
jle 0x439721
push esi
call fcn.0042f884
jmp 0x439721
mov ax, word [esi + 0x140]
cmp ax, bx
je 0x439654
cmp word [esi + 0x364], bx
fld1
movsx ecx, ax
fstp dword [ebp - 0x202c]
movzx dx, byte [ecx + 0x4dcf40]
jle 0x4392c4
movsx eax, word [esi + 0x166a0]
mov dword [ebp - 0x2028], eax
movsx eax, word [esi + 0x166a2]
fild dword [ebp - 0x2028]
mov dword [ebp - 0x2028], eax
fstp dword [ebp - 0x2030]
fild dword [ebp - 0x2028]
jmp 0x4392f0
movsx eax, word [esi + 0x1664c]
mov dword [ebp - 0x2028], eax
movsx eax, word [esi + 0x1664e]
fild dword [ebp - 0x2028]
mov dword [ebp - 0x2028], eax
fstp dword [ebp - 0x2030]
fild dword [ebp - 0x2028]
movsx eax, dx
fstp dword [ebp - 0x2028]
dec eax
dec eax
push 9
pop edi
je 0x4393a6
dec eax
dec eax
je 0x43931a
dec eax
dec eax
je 0x439325
sub eax, 3
je 0x43931a
sub eax, 7
jne 0x4393fe
cmp dx, 4
jne 0x439384
push 2
pop eax
jmp 0x43938f
fld dword [ebp - 0x2030]
fcomp dword [ebp - 0x2028]
fld dword [ebp - 0x2030]
fnstsw ax
test ah, 5
jp 0x43935e
fmul dword [0x405bcc]
fdiv dword [ebp - 0x2028]
fstp dword [ebp - 0x202c]
fld dword [ebp - 0x2028]
fmul dword [0x405bc8]
jmp 0x43937c
fmul dword [0x405bc8]
fdiv dword [ebp - 0x2028]
fstp dword [ebp - 0x202c]
fld dword [ebp - 0x2028]
fmul dword [0x405bcc]
fdiv dword [ebp - 0x2030]
jmp 0x4393e5
xor eax, eax
cmp dx, di
setne al
add eax, 3
movsx eax, ax
mov dword [ebp - 0x202c], eax
fild dword [ebp - 0x202c]
fdivr qword [0x407b10]
jmp 0x4393f4
fld dword [ebp - 0x2030]
fcomp dword [ebp - 0x2028]
fnstsw ax
test ah, 5
jp 0x4393c1
fld dword [ebp - 0x2030]
jmp 0x439364
fld dword [ebp - 0x2028]
fdiv dword [ebp - 0x2030]
fstp dword [ebp - 0x202c]
fld dword [ebp - 0x2030]
fmul dword [0x405bcc]
fdiv dword [ebp - 0x2028]
fld dword [ebp - 0x202c]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x4393fc
fstp dword [ebp - 0x202c]
jmp 0x4393fe
fstp st(0)
cmp byte [esi + 0x2471], 0
jne 0x439535
push 0x4e
push esi
call fcn.004a53d4
cmp eax, 1
jne 0x43946b
push 0x8f
push esi
call fcn.004a53d4
test eax, eax
jne 0x43946b
movsx eax, word [esi + 0x580]
cmp eax, ebx
je 0x439452
jle 0x439582
cmp eax, 0xa
jg 0x439582
fld dword [ebp - 0x202c]
fmul dword [0x407b08]
jmp 0x43958e
cmp word [esi + 0x140], 2
fld dword [ebp - 0x202c]
jne 0x439588
jmp 0x439571
movsx eax, word [esi + 0x140]
movzx eax, byte [eax + 0x4dcf40]
dec eax
dec eax
je 0x439582
dec eax
dec eax
je 0x43950f
dec eax
dec eax
je 0x4394f5
sub eax, 3
je 0x4394c8
sub eax, 7
jne 0x439594
mov ax, word [esi + 0x580]
cmp ax, 7
je 0x4394b7
cmp ax, di
je 0x4394b7
cmp ax, 0xa
jne 0x43956b
fld dword [ebp - 0x202c]
fmul qword [0x407b00]
jmp 0x43958e
mov ax, word [esi + 0x580]
cmp ax, 7
je 0x4394e4
cmp ax, di
je 0x4394e4
cmp ax, 0xa
jne 0x43956b
fld dword [ebp - 0x202c]
fmul qword [0x407af8]
jmp 0x43958e
mov ax, word [esi + 0x580]
cmp ax, 7
je 0x439527
cmp ax, di
je 0x439527
cmp ax, 0xa
jne 0x439582
jmp 0x439527
mov ax, word [esi + 0x580]
cmp ax, 7
je 0x439527
cmp ax, di
je 0x439527
cmp ax, 0xa
jne 0x43956b
fld dword [ebp - 0x202c]
fmul qword [0x407af0]
jmp 0x43958e
movzx ax, byte [ecx + 0x4dcf40]
mov ecx, dword [ebp - 0x202c]
movsx eax, ax
dec eax
dec eax
mov dword [esi + 0x162ec], ecx
je 0x439579
dec eax
dec eax
je 0x439579
dec eax
dec eax
je 0x439579
sub eax, 3
je 0x439562
sub eax, 7
jne 0x439594
cmp word [esi + 0x580], bx
jle 0x439594
fld dword [ebp - 0x202c]
fmul qword [0x407ae8]
jmp 0x43958e
cmp word [esi + 0x580], bx
jle 0x439594
fld dword [ebp - 0x202c]
fmul qword [0x407ae0]
fstp dword [esi + 0x162ec]
cmp word [esi + 0x364], bx
mov eax, dword [esi + 0x162ec]
mov dword [esi + 0x1629c], eax
jle 0x4395af
push esi
call fcn.0042f884
mov al, byte [esi + 0xd10]
cmp al, 6
je 0x439721
test al, al
jbe 0x439721
fld dword [ebp - 0x2030]
fcomp dword [ebp - 0x2028]
fnstsw ax
test ah, 5
jp 0x4395f8
fld dword [ebp - 0x2030]
fdiv dword [ebp - 0x2028]
fld dword [ebp - 0x2028]
fmul dword [0x405bcc]
fdiv dword [ebp - 0x2030]
jmp 0x439616
fld dword [ebp - 0x2028]
fdiv dword [ebp - 0x2030]
fld dword [ebp - 0x2030]
fmul dword [0x405bcc]
fdiv dword [ebp - 0x2028]
fstp dword [ebp - 0x2028]
fcom dword [ebp - 0x2028]
fnstsw ax
test ah, 5
jnp 0x439631
fstp st(0)
fld dword [ebp - 0x2028]
cmp byte [esi + 0x2471], 0
jne 0x439649
cmp word [esi + 0xd8e], bx
jne 0x439649
fmul qword [0x407ae0]
fstp dword [esi + 0x162a0]
jmp 0x439721
cmp word [esi + 0x364], bx
je 0x4396bb
push esi
call fcn.0042f884
cmp word [esi + 0x580], bx
je 0x439721
push 0x4e
push esi
call fcn.004a53d4
cmp eax, 1
mov edi, 0x8f
jne 0x43969d
push edi
push esi
call fcn.004a53d4
test eax, eax
jne 0x43969d
lea eax, [esi + 0x16298]
fld dword [eax]
fmul dword [0x407adc]
jmp 0x4396b7
push edi
push esi
call fcn.004a53d4
cmp eax, 1
jne 0x439721
lea eax, [esi + 0x16298]
fld dword [eax]
fmul dword [0x407ad8]
fstp dword [eax]
jmp 0x439721
cmp word [esi + 0x9cd], bx
je 0x4396df
movsx eax, word [esi + 0x9d5]
mov dword [ebp - 0x2028], eax
fild dword [ebp - 0x2028]
fmul qword [0x407b28]
jmp 0x43971b
cmp word [esi + 0x580], bx
je 0x439719
push 0x4e
push esi
mov dword [esi + 0x16298], 0x3f733333
call fcn.004a53d4
cmp eax, edi
jne 0x439721
push 0x8f
push esi
call fcn.004a53d4
test eax, eax
jne 0x439721
mov dword [esi + 0x16298], 0x3f68f5c3
jmp 0x439721
fld1
fstp dword [esi + 0x16298]
cmp word [esi + 0x360], bx
je 0x439780
cmp word [esi + 0x36a], bx
jne 0x439787
movsx eax, word [esi + 0x5e]
cmp eax, 0x12c
je 0x439766
cmp eax, 0x258
je 0x439766
cmp eax, 0x4b0
lea eax, [esi + 0x16294]
fld dword [eax]
jne 0x43976e
fmul qword [0x407b20]
mov dword [esi + 0x162a4], 0x40800000
jmp 0x43977e
lea eax, [esi + 0x16294]
fld dword [eax]
fmul qword [0x407ad0]
mov dword [esi + 0x162a4], 0x40000000
fstp dword [eax]
cmp word [esi + 0x36a], bx
jle 0x4397a7
cmp word [esi + 0x5e], 0x4b0
mov word [esi + 0x148], bx
jne 0x4397a7
mov word [esi + 0x5e], 0x258
mov word [esi + 0xa29], 0x258
cmp word [esi + 0x9cb], bx
jne 0x4397b7
mov word [esi + 0x148], bx
cmp dword [esi + 0x19e34], ebx
jne 0x4397fc
cmp byte [esi + 0xc9b], 0
jne 0x4397ec
cmp word [esi + 0x9ef], bx
jne 0x4397ec
cmp byte [esi + 0xda2], 0
jne 0x4397ec
cmp byte [esi + 0xda9], 0
jne 0x4397ec
cmp byte [esi + 0xdb0], 0
je 0x4397fc
xor ecx, ecx
inc ecx
mov word [esi + 0x586], cx
mov word [esi + 0x68], cx
jmp 0x4397ff
xor ecx, ecx
inc ecx
cmp word [esi + 0x148], bx
jne 0x43983f
cmp byte [esi + 0xd91], 0
jne 0x43983f
cmp word [esi + 0x368], bx
jne 0x43983f
cmp byte [esi + 0xd10], 0
jne 0x43983f
cmp byte [esi + 0xc4f], 3
je 0x43983f
mov ax, word [esi + 0x8e5]
cmp ax, 2
je 0x43983f
cmp ax, 3
jne 0x43984a
mov word [esi + 0x586], cx
mov word [esi + 0x68], cx
cmp word [esi + 0x368], bx
jne 0x43985c
cmp byte [esi + 0xd10], 0
je 0x43986a
cmp word [esi + 0x18934], 4
jne 0x43986a
mov word [esi + 0x68], cx
cmp word [esi + 0x8e5], bx
je 0x43988c
lea eax, [esi + 0xdd0]
cmp word [eax], bx
je 0x43988c
mov dx, word [esi + 0x5a]
mov word [esi + 0xdb1], bx
mov word [eax], dx
mov ax, word [esi + 0xdb1]
cmp ax, bx
jle 0x4398b9
cmp word [esi + 0x5a], ax
je 0x4398ab
mov word [esi + 0x586], cx
mov word [esi + 0x68], cx
jmp 0x4398b9
mov word [esi + 0xdb1], bx
mov word [esi + 0xa3f], bx
cmp byte [esi + 0x1f37], 0
je 0x4398c6
mov word [esi + 0x68], cx
cmp word [esi + 0xdb1], bx
movsx eax, word [esi + 0x36e]
mov dword [esi + 0x18920], eax
je 0x4398eb
cmp word [esi + 0xa3f], cx
jne 0x4398fb
push esi
call fcn.0042fbb3
cmp word [esi + 0xa3f], cx
jne 0x4398fb
mov byte [esi + 0xdc7], 0
cmp byte [esi + 0xdde], 0
je 0x43990d
mov word [esi + 0xa2d], 0x32
cmp word [esi + 0xa6f], cx
jne 0x4399c7
cmp word [esi + 0xd60], bx
jg 0x439939
cmp byte [esi + 0x18933], 1
je 0x439939
cmp word [esi + 0x140], bx
jle 0x4399c7
cmp word [esi + 0x364], bx
jg 0x43995b
cmp word [esi + 0x9cf], bx
jg 0x43995b
mov di, word [esi + 0x1664c]
mov bx, word [esi + 0x1664e]
jmp 0x43996d
xor edi, edi
mov di, word [esi + 0x166a0]
xor ebx, ebx
mov bx, word [esi + 0x166a2]
cmp word [esi + 0x50], 2
jne 0x43997a
mov eax, edi
mov edi, ebx
mov ebx, eax
push 0x13
push esi
call fcn.004a5754
movsx ecx, bx
mov dword [ebp - 0x2028], ecx
movsx ecx, di
fild dword [ebp - 0x2028]
mov dword [ebp - 0x2028], ecx
mov word [esi + 0x1975c], ax
movsx eax, ax
fidiv dword [ebp - 0x2028]
mov dword [ebp - 0x2028], eax
fimul dword [ebp - 0x2028]
call fcn.004a9810
xor ecx, ecx
xor ebx, ebx
mov word [esi + 0x1975e], ax
inc ecx
cmp word [esi + 0x68], cx
jne 0x439b0a
push 0x1e
push esi
call fcn.004a5754
push 0x1f
push esi
mov edi, eax
call fcn.004a53d4
push 0x20
push esi
mov dword [ebp - 0x2028], eax
call fcn.004a53d4
push 0x33
push esi
mov ebx, eax
call fcn.004a53d4
push 0x34
push esi
mov dword [ebp - 0x2030], eax
call fcn.004a53d4
cmp word [esi + 0x18934], 4
je 0x439ab4
xor edx, edx
inc edx
cmp dword [esi + 0x19e34], edx
jne 0x439a49
cmp byte [esi + 0xc9b], 0
jne 0x439b01
cmp byte [esi + 0xd91], 0
jne 0x439b01
cmp byte [esi + 0xc4f], 0
jne 0x439b01
cmp word [esi + 0x5d4], dx
jne 0x439a8a
push 0xb3
push esi
call fcn.004a53d4
cmp eax, 1
je 0x439a72
push 0xe2
push esi
call fcn.004a53d4
cmp eax, 1
jne 0x439a7c
cmp word [esi + 0x8e5], 0
je 0x439ab4
mov word [esi + 0x1977e], 1
jmp 0x439b11
cmp word [esi + 0xcd1], 0
jg 0x439b01
cmp ebx, edx
jne 0x439abf
test di, di
je 0x439ab4
cmp word [esi + 0xb09], di
jl 0x439ab4
xor eax, eax
cmp word [esi + 0x8e5], ax
sete al
jmp 0x439ad8
mov word [esi + 0x1977e], 2
jmp 0x439b11
cmp dword [ebp - 0x2028], edx
jne 0x439ae2
test di, di
je 0x439ab4
xor eax, eax
cmp word [esi + 0xb09], di
setl al
inc eax
mov word [esi + 0x1977e], ax
jmp 0x439b11
mov cx, word [esi + 0x8e5]
cmp cx, 2
jne 0x439af7
cmp dword [ebp - 0x2030], edx
je 0x439b01
cmp cx, 4
jne 0x439ab4
cmp eax, edx
jne 0x439ab4
mov word [esi + 0x1977e], dx
jmp 0x439b11
mov word [esi + 0x1977e], bx
push 0x61
push esi
call fcn.004a53d4
cmp eax, 1
jne 0x439b2d
cmp byte [esi + 0xd0e], al
jne 0x439b2d
mov word [esi + 0x584], ax
push 0x56
push esi
call fcn.004a53d4
push 0x69
push esi
mov dword [esi + 0x199e0], eax
call fcn.004a53d4
push 0x97
push esi
mov dword [esi + 0x199e4], eax
call fcn.004a53d4
and word [ebp - 0x24], 0
and dword [ebp - 0x2028], 0
push 7
pop ecx
mov dword [esi + 0x1dcd8], eax
xor eax, eax
lea edi, [ebp - 0x22]
rep stosd dword es:[edi], eax
push 0x10
stosw word es:[edi], ax
lea eax, [ebp - 0x24]
push eax
movzx eax, byte [esi + 0xccc]
push eax
push 0x67
push esi
call fcn.004a5f06
test eax, eax
je 0x439b9d
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [ebp - 0x2028], eax
movsx eax, word [esi + 0x5e]
cmp eax, dword [ebp - 0x2028]
je 0x439ccf
xor edi, edi
push edi
push edi
push 0x67
push esi
mov dword [ebp - 0x202c], edi
call fcn.004a6715
cmp eax, edi
je 0x439c9d
mov ebx, eax
shl ebx, 2
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x439c9d
push ebx
push edi
push 0x64
push esi
call fcn.004a6715
test eax, eax
mov dword [ebp - 0x2030], eax
je 0x439c9d
xor ebx, ebx
cmp eax, ebx
jbe 0x439c8d
push 0x10
lea eax, [ebp - 0x24]
push eax
push dword [edi + ebx*4]
push 0x67
push esi
call fcn.004a5f06
test eax, eax
je 0x439c26
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [ebp - 0x2028], eax
movsx eax, word [esi + 0x5e]
cmp dword [ebp - 0x2028], eax
jne 0x439c5d
push 0x10
lea eax, [ebp - 0x24]
push eax
push dword [edi + ebx*4]
push 0x68
push esi
call fcn.004a5f06
test eax, eax
je 0x439c5d
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
movzx ecx, word [esi + 0xa29]
cmp ecx, eax
jne 0x439c68
inc ebx
cmp ebx, dword [ebp - 0x2030]
jb 0x439c00
jmp 0x439c8d
mov al, byte [edi + ebx*4]
mov byte [esi + 0xccc], al
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov word [esi + 0xa29], ax
mov dword [ebp - 0x202c], 1
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x202c], 0
jne 0x439ccf
mov al, byte [esi + 0x1b748]
mov byte [esi + 0xccc], al
mov ax, word [esi + 0x1aada]
test ax, ax
jne 0x439cbd
mov word [esi + 0x5e], 0x258
jmp 0x439cc1
mov word [esi + 0x5e], ax
mov ax, word [esi + 0x1b4a5]
mov word [esi + 0xa29], ax
lea eax, [esi + 0x1747]
cmp word [eax], 0
jne 0x439d02
mov cl, byte [esi + 0xd18]
test cl, cl
jne 0x439ced
lea ecx, [esi + 0xa85]
jmp 0x439cf8
cmp cl, 1
jne 0x439d02
lea ecx, [esi + 0xd1b]
push ecx
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
cmp dword [esi + 0x1dfa8], 1
mov ebx, 0x407aac
jne 0x43a083
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x439e31
cmp eax, 3
jb 0x439e31
and word [ebp - 0x2024], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2022]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
movzx eax, byte [esi + 0xd18]
push eax
push 0x407a60
lea eax, [ebp - 0x2024]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x43a083
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x439e31
cmp eax, 3
jb 0x439e31
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2040]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1024]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2024]
push eax
movzx eax, word [ebp - 0x2032]
push ebx
push eax
movzx eax, word [ebp - 0x2034]
push eax
movzx eax, word [ebp - 0x2036]
push eax
movzx eax, word [ebp - 0x2038]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1024]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1024]
push eax
jne 0x439e13
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x439e31
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x43a083
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x439f5a
cmp eax, 3
jb 0x439f5a
and word [ebp - 0x2024], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2022]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esi + 0x1747]
push eax
push 0x407a08
lea eax, [ebp - 0x2024]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x43a083
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x439f5a
cmp eax, 3
jb 0x439f5a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2040]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1024]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2024]
push eax
movzx eax, word [ebp - 0x2032]
push ebx
push eax
movzx eax, word [ebp - 0x2034]
push eax
movzx eax, word [ebp - 0x2036]
push eax
movzx eax, word [ebp - 0x2038]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1024]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1024]
push eax
jne 0x439f3c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x439f5a
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x43a083
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x43a083
cmp eax, 3
jb 0x43a083
and word [ebp - 0x2024], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2022]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esi + 0xac7]
push eax
push 0x4079b0
lea eax, [ebp - 0x2024]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x43a083
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x43a083
cmp eax, 3
jb 0x43a083
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x2040]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1024]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2024]
push eax
movzx eax, word [ebp - 0x2032]
push ebx
push eax
movzx eax, word [ebp - 0x2034]
push eax
movzx eax, word [ebp - 0x2036]
push eax
movzx eax, word [ebp - 0x2038]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1024]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1024]
push eax
jne 0x43a065
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x43a083
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
push 0x1c
push esi
call fcn.004a53d4
xor ebx, ebx
inc ebx
cmp eax, ebx
jne 0x43a0ca
cmp byte [esi + 0xd18], 0
jne 0x43a0ca
cmp word [esi + 0x1747], 0
je 0x43a0af
cmp word [esi + 0xac7], 0
jne 0x43a0c4
mov al, byte [esi + 0xd19]
cmp al, 1
je 0x43a0c4
cmp al, 2
jne 0x43a0ca
cmp word [esi + 0x60], 2
jne 0x43a0ca
mov dword [esi + 0x19e38], ebx
push 0x1c
push esi
call fcn.004a53d4
cmp eax, ebx
jne 0x43a113
cmp byte [esi + 0xd18], 1
jne 0x43a113
cmp word [esi + 0x1747], 0
jne 0x43a0fe
mov al, byte [esi + 0xd19]
cmp al, 1
je 0x43a0fe
cmp al, 2
jne 0x43a113
cmp word [esi + 0x60], 2
jne 0x43a113
push 0x10
mov dword [esi + 0x19e3c], ebx
pop ecx
xor eax, eax
lea edi, [esi + 0xac7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x1c
push esi
call fcn.004a53d4
cmp eax, ebx
jne 0x43a15c
cmp byte [esi + 0xd18], 2
jne 0x43a15c
cmp word [esi + 0x1747], 0
jne 0x43a147
mov al, byte [esi + 0xd19]
cmp al, 1
je 0x43a147
cmp al, 2
jne 0x43a15c
cmp word [esi + 0x60], 2
jne 0x43a15c
push 0x10
mov dword [esi + 0x19e40], ebx
pop ecx
xor eax, eax
lea edi, [esi + 0xac7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp word [esi + 0xd8e], 0
jne 0x43a23c
and word [ebp - 0x24], 0
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x22]
rep stosd dword es:[edi], eax
push 0x94
push esi
stosw word es:[edi], ax
call fcn.004a53d4
cmp eax, ebx
jne 0x43a1e9
mov ax, word [esi + 0x52]
xor edi, edi
cmp word [esi + 0x364], di
jle 0x43a1a0
mov ax, word [esi + 0x366]
push 0x10
lea ecx, [ebp - 0x24]
push ecx
movsx eax, ax
push eax
push 0x93
push esi
call fcn.004a5f06
test eax, eax
je 0x43a1e1
lea eax, [ebp - 0x24]
push 0x4079a8
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x43a1e1
cmp word [esi + 0x18934], 2
setne al
mov dword [esi + 0x1dacc], eax
jmp 0x43a23c
mov dword [esi + 0x1dacc], edi
jmp 0x43a23c
push 0xeb
push esi
call fcn.004a53d4
cmp eax, ebx
jne 0x43a23c
cmp byte [esi + 0x2474], 1
jne 0x43a235
cmp word [esi + 0x18934], 2
je 0x43a235
mov ax, word [esi + 0x364]
test ax, ax
jne 0x43a221
cmp word [esi + 0x52], 0xb
je 0x43a22d
test ax, ax
jle 0x43a235
cmp word [esi + 0x366], 0xb
jne 0x43a235
mov dword [esi + 0x1dacc], ebx
jmp 0x43a23c
and dword [esi + 0x1dacc], 0
push 0x9f
push esi
call fcn.004a53d4
cmp eax, ebx
jne 0x43a25a
cmp dword [esi + 0x1dcdc], 0
jne 0x43a25a
push esi
call fcn.00431603
push 0xa2
push esi
call fcn.004a53d4
cmp eax, ebx
jne 0x43a294
cmp word [esi + 0x368], 0
jne 0x43a294
cmp byte [esi + 0xd10], 0
jne 0x43a294
mov ax, word [esi + 0x5da]
cmp ax, bx
je 0x43a28e
cmp ax, 2
jne 0x43a294
push esi
call fcn.00431509
and word [esi + 0x1dce0], 0
and word [esi + 0x1dce2], 0
mov ecx, dword [ebp - 4]
mov byte [esi + 0x1dce4], 0
mov eax, dword [0x4d9668]
pop edi
mov dword [esi + 0x1dce8], eax
pop esi
pop ebx
call fcn.004a9585
leave
ret 4