Function at 0x490acb
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1278
call fcn.004a98b0
mov eax, dword [0x4dd52c]
and word [ebp - 0x124c], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 4], eax
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x124a]
rep stosd dword es:[edi], eax
xor ebx, ebx
inc ebx
cmp word [esi + 0x578], 2
stosw word es:[edi], ax
jne 0x490b26
lea eax, [esi + 0x362]
cmp word [eax], 2
je 0x490b23
cmp word [esi + 0x360], bx
jne 0x490b26
mov word [eax], bx
push 0xd1
push esi
call fcn.004a53d4
cmp eax, ebx
jne 0x490e62
mov al, byte [esi + 0xd5e]
test al, al
je 0x490b4b
cmp al, 1
jne 0x490e62
push 7
xor ebx, ebx
pop ecx
mov word [ebp - 0x44], bx
xor eax, eax
lea edi, [ebp - 0x42]
rep stosd dword es:[edi], eax
push ebx
stosw word es:[edi], ax
push ebx
mov edi, 0xd2
push edi
push esi
mov dword [ebp - 0x125c], ebx
mov dword [ebp - 0x1254], ebx
call fcn.004a6715
cmp eax, ebx
je 0x490c51
shl eax, 2
push eax
push ebx
mov dword [ebp - 0x1258], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
test ebx, ebx
je 0x490c4f
push dword [ebp - 0x1258]
push ebx
push edi
push esi
call fcn.004a6715
test eax, eax
mov dword [ebp - 0x1258], eax
je 0x490c3f
and dword [ebp - 0x1250], 0
test eax, eax
jbe 0x490c3f
push 0x10
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x1250]
push dword [ebx + eax*4]
push 0xd3
push esi
call fcn.004a5f06
test eax, eax
je 0x490bf4
lea eax, [ebp - 0x44]
push 0x414044
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
je 0x490c0a
inc dword [ebp - 0x1250]
mov eax, dword [ebp - 0x1250]
cmp eax, dword [ebp - 0x1258]
jb 0x490bc1
jmp 0x490c3f
push 0x10
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x1250]
push dword [ebx + eax*4]
push edi
push esi
call fcn.004a5f06
test eax, eax
je 0x490c3f
lea eax, [ebp - 0x44]
push eax
mov dword [ebp - 0x1254], 1
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [ebp - 0x125c], eax
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x1254], 0
jne 0x490c62
xor ebx, ebx
movzx ax, byte [esi + 0x1b748]
mov word [ebp - 0x125c], ax
jmp 0x490c64
xor ebx, ebx
push 7
pop ecx
xor eax, eax
mov word [ebp - 0x24], bx
lea edi, [ebp - 0x22]
rep stosd dword es:[edi], eax
push 0x10
stosw word es:[edi], ax
mov dword [ebp - 0x1250], ebx
mov dword [ebp - 0x1260], ebx
mov dword [ebp - 0x1254], ebx
mov dword [ebp - 0x1278], ebx
mov dword [ebp - 0x1258], ebx
mov dword [ebp - 0x1264], ebx
pop ebx
push ebx
lea eax, [ebp - 0x24]
push eax
movzx eax, byte [esi + 0xccc]
push eax
push 0x67
push esi
call fcn.004a5f06
test eax, eax
mov edi, dword [sym.imp.msvcrt.dll__wtoi]
je 0x490cc7
lea eax, [ebp - 0x24]
push eax
call edi
pop ecx
mov dword [ebp - 0x1250], eax
push ebx
lea eax, [ebp - 0x24]
push eax
movzx eax, byte [esi + 0xccc]
push eax
push 0x68
push esi
call fcn.004a5f06
test eax, eax
je 0x490ced
lea eax, [ebp - 0x24]
push eax
call edi
pop ecx
mov dword [ebp - 0x1260], eax
push ebx
lea eax, [ebp - 0x24]
push eax
movzx eax, byte [esi + 0xccc]
push eax
push 0xdc
push esi
call fcn.004a5f06
test eax, eax
lea eax, [ebp - 0x24]
jne 0x490d25
push ebx
push eax
movzx eax, byte [esi + 0xccc]
push eax
push 0x66
push esi
call fcn.004a5f06
test eax, eax
je 0x490d2f
lea eax, [ebp - 0x24]
push eax
call edi
pop ecx
mov dword [ebp - 0x1254], eax
movsx ebx, word [ebp - 0x125c]
push 0x10
lea eax, [ebp - 0x24]
push eax
push ebx
push 0x67
push esi
call fcn.004a5f06
test eax, eax
je 0x490d56
lea eax, [ebp - 0x24]
push eax
call edi
pop ecx
mov dword [ebp - 0x1278], eax
push 0x10
lea eax, [ebp - 0x24]
push eax
push ebx
push 0x68
push esi
call fcn.004a5f06
test eax, eax
je 0x490d76
lea eax, [ebp - 0x24]
push eax
call edi
pop ecx
mov dword [ebp - 0x1258], eax
push 0x10
lea eax, [ebp - 0x24]
push eax
push ebx
push 0xdc
push esi
call fcn.004a5f06
test eax, eax
lea eax, [ebp - 0x24]
jne 0x490da2
push 0x10
push eax
push ebx
push 0x66
push esi
call fcn.004a5f06
test eax, eax
je 0x490dac
lea eax, [ebp - 0x24]
push eax
call edi
pop ecx
mov dword [ebp - 0x1264], eax
mov eax, dword [ebp - 0x1278]
cmp dword [ebp - 0x1250], eax
jg 0x490de2
jne 0x490e5f
mov eax, dword [ebp - 0x1258]
cmp dword [ebp - 0x1260], eax
jg 0x490de2
jne 0x490e5f
mov eax, dword [ebp - 0x1264]
cmp dword [ebp - 0x1254], eax
jle 0x490e5f
and word [ebp - 0x24c], 0
xor eax, eax
mov ecx, 0x81
lea edi, [ebp - 0x24a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x24c]
push eax
push esi
call fcn.004359e2
lea eax, [ebp - 0x24c]
push 0x405a00
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
je 0x490e5f
lea eax, [ebp - 0x24c]
push eax
push esi
call fcn.004302f4
cmp ax, 0x11
jne 0x490e5f
cmp word [esi + 0xd8e], 1
mov byte [esi + 0xd5e], 1
jne 0x490e5f
push 0xce
push esi
call fcn.004a53d4
xor ebx, ebx
inc ebx
cmp eax, ebx
jne 0x490e62
mov byte [esi + 0x23a1], 2
jmp 0x490e62
xor ebx, ebx
inc ebx
cmp word [esi + 0xd8e], bx
jne 0x490f36
push 0xce
push esi
call fcn.004a53d4
cmp eax, ebx
jne 0x490ebd
cmp byte [esi + 0xd5e], 1
jne 0x490ebd
movzx eax, byte [esi + 0x23a1]
dec eax
je 0x490ea7
dec eax
jne 0x490ebd
lea eax, [esi + 0x1dfc4]
cmp dword [eax], 0
jne 0x490ebd
mov dword [esi + 0x1dfc0], ebx
jmp 0x490eb2
lea eax, [esi + 0x1dfc4]
cmp dword [eax], 0
jne 0x490ebd
mov word [esi + 0x362], 2
mov dword [eax], ebx
cmp word [esi + 0xd8e], bx
jne 0x490f36
xor ecx, ecx
cmp word [esi + 0x36a], cx
jne 0x490f38
lea eax, [esi + 0x362]
cmp word [eax], 2
je 0x490ee6
cmp word [esi + 0x360], bx
jne 0x490f38
cmp word [esi + 0x5de], cx
mov word [esi + 0xd8e], cx
mov word [esi + 0x18934], 2
mov word [eax], bx
mov word [esi + 0x14c], cx
mov word [esi + 0x360], cx
mov byte [esi + 0x189cc], 1
jle 0x490f38
cmp word [esi + 0x5e], 0x12c
jne 0x490f38
mov word [esi + 0x5e], 0x258
mov word [esi + 0xa29], 0x258
mov word [esi + 0x64], 0x258
jmp 0x490f38
xor ecx, ecx
cmp word [esi + 0x18934], 2
mov dword [esi + 0x18938], ecx
jne 0x490f85
cmp dword [esi + 0x1dfa8], ebx
jne 0x491092
mov eax, dword [esi + 0x1dfac]
cmp eax, ecx
je 0x491092
cmp eax, 3
jb 0x491092
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x1274]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413ff8
jmp 0x490fcd
cmp word [esi + 0xd8e], bx
jne 0x491040
cmp dword [esi + 0x1dfa8], ebx
jne 0x491092
mov eax, dword [esi + 0x1dfac]
cmp eax, ecx
je 0x491092
cmp eax, 3
jb 0x491092
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x1274]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413fd0
xor eax, eax
lea edi, [ebp - 0x124c]
mov ecx, 0x400
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x1266]
push 0x413fb4
push eax
movzx eax, word [ebp - 0x1268]
push eax
movzx eax, word [ebp - 0x126a]
push eax
movzx eax, word [ebp - 0x126c]
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 - 0x124c]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], bx
lea eax, [ebp - 0x124c]
push eax
jne 0x491074
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x491092
cmp dword [esi + 0x1dfa8], ebx
jne 0x491092
mov eax, dword [esi + 0x1dfac]
cmp eax, ecx
je 0x491092
cmp eax, 3
jb 0x491092
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x1274]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413f90
jmp 0x490fcd
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
movsx eax, word [esi + 0x18934]
dec eax
dec eax
jne 0x4910dc
cmp word [esi + 0x36e], 3
jne 0x4910ad
mov dword [esi + 0x18938], ebx
cmp dword [esi + 0x1dfc0], ebx
je 0x4910cc
cmp dword [esi + 0x18938], 0
jne 0x4910cc
fld dword [0x405bcc]
fst dword [esi + 0x16294]
jmp 0x4910d6
fld1
fstp dword [esi + 0x16294]
fld1
fstp dword [esi + 0x162a8]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.004a9585
leave
ret 4