Function at 0x494304
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], eax
mov esi, dword [0x4b973c]
xor eax, eax
push ebp
push 0x4949c6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x28]
mov byte [eax], 0
mov eax, 0x4949dc
call fcn.00478ff0
mov eax, dword [0x4b9ae8]
mov eax, dword [eax]
call fcn.0040a2d8
call fcn.0048d36c
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x21], 0
mov byte [ebp - 0x23], 0
mov byte [ebp - 0x22], 0
mov eax, dword [0x4b95e4]
mov al, byte [eax]
mov byte [ebp - 9], al
mov byte [ebp - 0x29], 0
xor eax, eax
mov dword [ebp - 0x18], eax
mov dl, 1
mov eax, dword [0x48d234]
call fcn.0047b22c
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49495c
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x494738
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 8]
mov eax, dword [esi + 8]
call fcn.0049a230
cmp dword [ebp - 8], 0
jne 0x4943d4
mov eax, 0x494a08
call fcn.00475000
mov eax, dword [ebp - 8]
call fcn.00403d38
cmp eax, 0x7f
jle 0x4943eb
mov eax, 0x494a40
call fcn.00475000
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 8]
call fcn.004971b0
mov eax, dword [0x4b9a04]
mov al, byte [eax]
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
mov eax, dword [ebp - 4]
add eax, 0x18
mov edx, dword [0x4b9aa0]
mov edx, dword [edx]
call fcn.00403b0c
mov eax, dword [ebp - 4]
add eax, 0x14
mov edx, dword [ebp - 8]
call fcn.00403b0c
mov eax, dword [0x4b9680]
cmp byte [eax], 0
je 0x494435
mov eax, dword [ebp - 4]
or byte [eax + 0x1d], 0x20
mov eax, dword [0x4b9828]
cmp byte [eax], 0
je 0x494448
mov eax, dword [ebp - 4]
or byte [eax + 0x1d], 1
jmp 0x494459
mov eax, dword [0x4b95e4]
cmp byte [eax], 0
je 0x494459
mov eax, dword [ebp - 4]
or byte [eax + 0x1d], 0x40
mov eax, dword [ebp - 4]
or byte [eax + 0x1d], 4
test byte [esi + 0x12c], 8
je 0x494470
mov eax, dword [ebp - 4]
or byte [eax + 0x1d], 8
test byte [esi + 0x12d], 8
je 0x494480
mov eax, dword [ebp - 4]
or byte [eax + 0x1d], 0x10
push ebp
call fcn.0048d88c
pop ecx
push ebp
call fcn.0048da88
pop ecx
mov dl, 1
mov eax, dword [0x40f72c]
call fcn.00402e18
mov dword [ebp - 0x18], eax
call fcn.00494248
call fcn.0048d500
call fcn.004942a4
call fcn.0048d500
call fcn.0049349c
call fcn.0048d500
mov eax, dword [0x4b961c]
cmp dword [eax], 0
je 0x4944e2
push 0
push 0
mov eax, dword [0x4b961c]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x34]
mov dx, 0x8c
mov eax, dword [ebp - 4]
call fcn.0047b2f0
test byte [esi + 0x12a], 2
je 0x494503
push 0
push 0
xor eax, eax
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x34]
mov dx, 0x8b
mov eax, dword [ebp - 4]
call fcn.0047b2f0
push ebp
call fcn.004935ac
pop ecx
call fcn.0048d500
mov eax, dword [0x4b995c]
mov eax, dword [eax + 0x27c]
call fcn.0048d338
call sub.kernel32.dll_GetTickCount
mov ebx, eax
push ebp
call fcn.0048eb84
pop ecx
lea eax, [ebp - 0x38]
push eax
call sub.kernel32.dll_GetTickCount
sub eax, ebx
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0
lea edx, [ebp - 0x40]
xor ecx, ecx
mov eax, 0x494a70
call fcn.0040aa64
mov eax, dword [ebp - 0x38]
call fcn.00403efc
push eax
call sub.kernel32.dll_OutputDebugStringA
call sub.kernel32.dll_GetTickCount
mov ebx, eax
call fcn.0048d500
lea eax, [ebp - 0x44]
push eax
call sub.kernel32.dll_GetTickCount
sub eax, ebx
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0
lea edx, [ebp - 0x40]
xor ecx, ecx
mov eax, 0x494aa0
call fcn.0040aa64
mov eax, dword [ebp - 0x44]
call fcn.00403efc
push eax
call sub.kernel32.dll_OutputDebugStringA
test byte [esi + 0x128], 2
je 0x4945b7
mov eax, dword [0x4b995c]
mov eax, dword [eax + 0x298]
call fcn.0048d338
push ebp
call fcn.00493b24
pop ecx
mov eax, dword [0x4b995c]
mov eax, dword [eax + 0x28c]
call fcn.0048d338
push ebp
call fcn.004911b0
pop ecx
call fcn.0048d500
mov eax, dword [0x4b9890]
cmp byte [eax], 0
je 0x4945f9
mov eax, dword [0x4b995c]
mov eax, dword [eax + 0x280]
call fcn.0048d338
push ebp
call fcn.00491b50
pop ecx
call fcn.0048d500
mov eax, dword [0x4b9698]
mov eax, dword [eax + 0x28]
cmp dword [eax + 8], 0
je 0x494623
mov eax, dword [0x4b995c]
mov eax, dword [eax + 0x284]
call fcn.0048d338
push ebp
call fcn.00491d44
pop ecx
call fcn.0048d500
mov eax, dword [0x4b9698]
mov eax, dword [eax + 0x2c]
cmp dword [eax + 8], 0
je 0x49464d
mov eax, dword [0x4b995c]
mov eax, dword [eax + 0x288]
call fcn.0048d338
push ebp
call fcn.00492174
pop ecx
call fcn.0048d500
xor eax, eax
call fcn.0048d338
call fcn.004940b8
call fcn.0048d500
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0
je 0x494683
mov eax, dword [0x4b995c]
mov eax, dword [eax + 0x290]
call fcn.0048d338
push ebp
call fcn.004933a4
pop ecx
call fcn.0048d500
test byte [esi + 0x128], 2
je 0x494718
mov eax, dword [0x4b995c]
mov eax, dword [eax + 0x298]
call fcn.0048d338
push ebp
call fcn.00493f94
pop ecx
push ebp
call fcn.00494030
pop ecx
test byte [esi + 0x12a], 4
je 0x4946c1
push ebp
mov eax, dword [ebp - 0x30]
call fcn.0048de6c
pop ecx
push ebp
call fcn.0049369c
pop ecx
push 0
push 0
lea eax, [ebp - 0x48]
call fcn.0048d864
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x34]
mov dx, 0x11
mov eax, dword [ebp - 4]
call fcn.0047b2f0
test byte [esi + 0x12a], 0x40
setne al
push eax
mov cl, byte [ebp - 0x22]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0047d060
mov eax, dword [0x4b99ec]
cmp byte [eax], 0
je 0x494718
mov eax, dword [0x4b95c0]
mov eax, dword [eax]
call fcn.004787b0
xor eax, eax
call fcn.0048d338
mov byte [ebp - 0x29], 1
mov eax, dword [ebp - 4]
call fcn.0047b4fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494911
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x494963
cmp dword [ebp - 0x18], 0
je 0x494953
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
dec ebx
cmp ebx, 0
jl 0x49494b
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.00410df0
mov edx, dword [0x48d838]
call fcn.0040475c
dec ebx
cmp ebx, 0xffffffff
jne 0x494930
mov eax, dword [ebp - 0x18]
call fcn.00402e48
mov eax, dword [ebp - 4]
call fcn.00402e48
ret