Function at 0x499e50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xcc]
cmp eax, dword [ecx + 8]
jbe 0x49aa18
sub esp, 0x14c
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov eax, dword [esp + 0x154]
test eax, eax
je 0x49a266
mov ecx, dword [esp + 0x164]
test ecx, ecx
jne 0x499ebf
lea ecx, [0x825ba0]
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0x499ecc
lea edx, [0x825be0]
mov ebx, dword [ecx + 0x18]
cmp ebx, 3
jg 0x49a229
jl 0x49a1ec
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xdc], edx
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
test ebx, ebx
jne 0x499efe
mov ebx, dword [esp + 0x150]
jmp 0x499f37
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x150]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00499a10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jne 0x49a1bb
mov eax, ebp
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0049b2a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
test ecx, ecx
je 0x499f5b
xor edx, edx
jmp 0x499f67
test ebx, ebx
jbe 0x49aa0e
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
test ecx, ecx
jne 0x49a198
mov dword [esp + 0xd8], edx
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 4]
test ecx, ecx
jne 0x499fd0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 8], eax
call fcn.00499410
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xd8]
test ecx, ecx
jne 0x499fd8
xor ecx, ecx
jmp 0x49a02e
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0049b2a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
test eax, eax
je 0x499ffc
xor edx, edx
jmp 0x49a008
test ebx, ebx
jbe 0x49aa05
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
test eax, eax
jne 0x49a175
mov eax, dword [esp + 0xdc]
mov ecx, edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0xe8], ecx
mov ebx, dword [esp + 0xf4]
mov ebp, dword [ebx + 4]
mov esi, dword [ebx]
test ebp, ebp
jne 0x49a049
xor ebp, ebp
jmp 0x49a091
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0049b2a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
test ecx, ecx
je 0x49a06d
xor edx, edx
jmp 0x49a079
test ebx, ebx
jbe 0x49a9fc
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
test ecx, ecx
jne 0x49a152
mov ebp, edx
mov dword [esp + 0xe4], ebp
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x5c], 0
lea eax, [esp + 0x44]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.004a0df0
mov eax, dword [esp + 0x44]
cmp eax, 6
jae 0x49a0dc
mov eax, 1
jmp 0x49a0ea
jne 0x49a0e8
cmp dword [esp + 0x40], 1
setbe al
jmp 0x49a0ea
xor eax, eax
mov byte [esp + 0x36], al
call fcn.0049f290
mov eax, dword [esp]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 0x2c]
test edx, edx
jne 0x49a10a
mov edx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x58], ecx
lea ebx, [0x62f300]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00447580
mov eax, dword [esp + 0xc]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x64], edx
xor ebx, ebx
jmp 0x49a2a4
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
lea eax, [0x6c3af0]
mov dword [esp + 0x170], eax
lea eax, [0x6c0e68]
mov dword [esp + 0x174], eax
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
lea eax, [0x6c3af0]
mov dword [esp + 0x170], eax
lea eax, [0x6c0e6c]
mov dword [esp + 0x174], eax
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
lea eax, [0x6c3af0]
mov dword [esp + 0x170], eax
lea eax, [0x6c0e6c]
mov dword [esp + 0x174], eax
nop
call fcn.00432490
add esp, 0x14c
ret
inc ebx
cmp ebx, edx
jge 0x49a3fa
mov ebp, dword [ecx + 0x18]
mov esi, dword [ecx + 0x14]
cmp ebx, ebp
jae 0x49a9f3
mov ebp, dword [esi + ebx*4]
test ebp, ebp
jbe 0x49a2a3
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
cmp esi, edi
je 0x49a2f3
movzx edx, byte [esp + 0x36]
test dl, dl
je 0x49a2f8
mov dword [esp + 0x60], ebp
and ebp, 0x10000003
cmp ebp, 3
jne 0x49a2ed
mov ebp, dword [esp + 0x60]
mov esi, edi
jmp 0x49a2f8
mov ebp, dword [esp + 0x60]
jmp 0x49a2f8
movzx edx, byte [esp + 0x36]
mov edx, dword [esp + 0x58]
cmp ebx, edx
jae 0x49a9ea
mov dword [esp + 0x4c], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
lea ecx, [eax + ebx*4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov byte [esp + 0x14], 1
mov dword [esp + 0x18], 2
call fcn.0049eac0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x49a3c9
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + eax*4]
mov dword [esp], 0x24
lea ebx, [0x67b8bc]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x38]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x20], 1
call fcn.00431840
test eax, eax
jne 0x49a3bc
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x4c]
jmp 0x49a2a3
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
nop
call fcn.00432490
add esp, 0x14c
ret
lea edi, [esp + 0x104]
xor eax, eax
call fcn.0045e9ae
mov dword [esp], 2
call fcn.0049cf40
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x170], edx
mov dword [esp + 0x174], ebx
test ebp, ebp
jne 0x49a61d
mov eax, dword [esp + 0x148]
mov dword [esp + 0x78], 4
lea ecx, [0x67b8e8]
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x78]
mov dword [esp], eax
call fcn.00431960
test eax, eax
jne 0x49a610
mov dword [esp + 0x104], 0x48
mov dword [esp + 0x130], 0x100
mov edx, dword [esp + 0xdc]
movzx ebx, byte [edx]
test bl, bl
je 0x49a4b1
mov dword [esp + 0x130], 0x101
mov word [esp + 0x134], 0
mov ebx, dword [edx + 0x2c]
test ebx, ebx
je 0x49a51f
mov eax, dword [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20000
lea eax, [edx + 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004a06b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
test edx, edx
jne 0x49a5ed
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x58]
test ecx, ecx
jbe 0x49a9e3
mov ebx, dword [esp + 0xf0]
mov ebp, dword [ebx]
mov dword [esp + 0x13c], ebp
cmp ecx, 1
jbe 0x49a9d9
mov ebp, dword [ebx + 4]
mov dword [esp + 0x140], ebp
cmp ecx, 2
jbe 0x49a9cf
mov eax, dword [ebx + 8]
mov dword [esp + 0x144], eax
mov eax, dword [edx + 0x24]
lea ebp, [ecx + eax]
mov dword [esp + 0x54], ebp
mov esi, dword [edx + 0x20]
cmp ecx, ebp
jb 0x49a576
mov edi, ecx
jmp 0x49a5b8
mov dword [esp + 0x64], eax
mov dword [esp + 0xec], esi
lea eax, [0x62f300]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00447700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x58]
mov ebx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x58], ecx
mov dword [esp + 0xe0], ebx
lea edx, [ebx + edi*4]
mov dword [esp], edx
mov dword [esp + 4], esi
shl eax, 2
mov dword [esp + 8], eax
call fcn.0045f0c0
mov eax, dword [esp + 0xe0]
movzx ecx, byte [esp + 0x36]
mov edx, dword [esp + 0x54]
xor ebx, ebx
jmp 0x49a641
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
nop
call fcn.00432490
add esp, 0x14c
ret
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
nop
call fcn.00432490
add esp, 0x14c
ret
inc ebx
cmp ebx, edx
jge 0x49a666
jae 0x49a9c6
mov ebp, dword [eax + ebx*4]
test cl, cl
je 0x49a640
and ebp, 0x10000003
cmp ebp, 3
jne 0x49a640
mov dword [eax + ebx*4], 0
jmp 0x49a640
xor ecx, ecx
xor ebx, ebx
jmp 0x49a66d
inc ecx
cmp ecx, edx
jge 0x49a68c
jae 0x49a9bd
mov ebp, dword [eax + ecx*4]
test ebp, ebp
je 0x49a66c
cmp ebx, edx
jae 0x49a9b4
mov dword [eax + ebx*4], ebp
inc ebx
jmp 0x49a66c
mov edx, dword [esp + 0x58]
cmp ebx, edx
ja 0x49a9ad
mov dword [esp + 0x48], ebx
test ebx, ebx
jle 0x49a70b
mov ecx, dword [esp + 0x148]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20002
mov dword [esp + 0xc], eax
shl ebx, 2
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004a06b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
test edx, edx
jne 0x49a98a
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov ecx, dword [esp + 0xdc]
mov ebp, dword [ecx + 0xc]
or ebp, 0x80400
mov dword [esp + 0x50], ebp
mov esi, dword [ecx + 0x10]
test esi, esi
je 0x49a807
test ebx, ebx
jle 0x49a757
movzx esi, byte [ecx + 0x1c]
xor esi, 1
jmp 0x49a759
xor esi, esi
xchg esi, eax
mov byte [esp + 0x37], al
xchg esi, eax
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00499510
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
mov ebp, dword [esp + 0xc]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
movzx ecx, byte [esp + 0x37]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x104]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x28], ecx
call fcn.0049d1b0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
jmp 0x49a8b8
test ebx, ebx
jle 0x49a814
movzx esi, byte [ecx + 0x1c]
xor esi, 1
jmp 0x49a816
xor esi, esi
xchg esi, eax
mov byte [esp + 0x37], al
xchg esi, eax
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00499510
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xd8]
mov dword [esp], ebp
mov ebp, dword [esp + 0xe8]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
movzx ecx, byte [esp + 0x37]
mov byte [esp + 0x10], cl
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x104]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x24], ecx
call fcn.0049e7a0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x49a967
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xa4], 0xc
lea ecx, [0x67b8ac]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xa4]
mov dword [esp], eax
call fcn.00431960
test eax, eax
jne 0x49a95a
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
nop
call fcn.00432490
add esp, 0x14c
ret
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
nop
call fcn.00432490
add esp, 0x14c
ret
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
nop
call fcn.00432490
add esp, 0x14c
ret
mov ecx, ebx
call fcn.0045e7d0
mov eax, ebx
mov ecx, edx
call fcn.0045e790
mov eax, ecx
mov ecx, edx
call fcn.0045e790
mov eax, ebx
mov ecx, edx
call fcn.0045e790
mov eax, 2
call fcn.0045e790
mov eax, 1
call fcn.0045e790
xor eax, eax
call fcn.0045e790
mov eax, ebx
mov ecx, edx
call fcn.0045e790
mov eax, ebx
mov ecx, ebp
call fcn.0045e790
xor eax, eax
mov ecx, ebx
call fcn.0045e790
xor eax, eax
mov ecx, ebx
call fcn.0045e790
xor eax, eax
mov ecx, ebx
call fcn.0045e790
nop
call fcn.0045d2d0
jmp fcn.00499e50