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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b0
push ebx
push esi
push edi
lea edi, [ebp - 0x1b0]
mov ecx, 0x6c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x44], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004981e0
add esp, 4
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x40]
add ecx, 0x24
push ecx
call fcn.004923b0
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x50]
jb 0x49c7d7
mov eax, dword [0x537bc4]
add eax, 0xf
push eax
call fcn.00503360
add esp, 4
jmp 0x49cfc1
cmp dword [ebp - 0x20], 0
jbe 0x49cdbe
mov byte [ebp - 0x65], 0
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x49c831
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x50]
ja 0x49c831
push 0
lea eax, [ebp - 0x71]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049abd0
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49c81c
mov eax, dword [ebp - 0x14]
jmp 0x49cfc1
movzx eax, byte [ebp - 0x71]
cmp eax, 2
jne 0x49c829
mov byte [ebp - 0x65], 1
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4c]
push ecx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49c851
mov eax, dword [ebp - 0x14]
jmp 0x49cfc1
mov eax, dword [ebp - 0x20]
sub eax, 1
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x40]
add edx, 0x24
push edx
call fcn.00491f60
add esp, 8
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x49c88a
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x40]
push ecx
call fcn.004923b0
add esp, 4
mov dword [ebp - 0x5c], eax
jmp 0x49c89f
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x40]
add ecx, 0x20
push ecx
call fcn.004923b0
add esp, 4
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x50]
jbe 0x49c8bd
mov eax, dword [0x537bc4]
add eax, 0x3c
push eax
call fcn.00503360
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x49c8d6
push 0
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00499e60
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49c8e8
mov dword [ebp - 0x38], 0
jmp 0x49cf54
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x40]
add ecx, 4
push ecx
call fcn.004923b0
add esp, 4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x49c95f
movzx eax, byte [ebp - 0x65]
test eax, eax
jne 0x49c95f
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x4c]
push ecx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49c928
jmp 0x49cf54
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
push 4
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x40]
add eax, 0x20
push eax
call fcn.004571c0
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov dword [ebp - 0x38], 0
jmp 0x49cd9a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
shr ecx, 2
sub ecx, 2
cmp dword [ebp - 0x2c], ecx
jbe 0x49c98e
mov eax, dword [0x537bc4]
add eax, 0x58
push eax
call fcn.00503360
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x49cf54
movzx eax, byte [ebp - 0x65]
test eax, eax
je 0x49cb82
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x5c]
jne 0x49cb82
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov byte [ebp - 0x65], 0
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x4c]
push ecx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49c9cf
jmp 0x49cf54
cmp dword [ebp - 0x2c], 0
jne 0x49ca32
cmp dword [ebp - 0x44], 0
jne 0x49c9f8
push 4
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x40]
add eax, 0x20
push eax
call fcn.004571c0
add esp, 0xc
jmp 0x49ca2d
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x4c]
push ecx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49ca15
jmp 0x49cf54
push 4
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x40]
push eax
call fcn.004571c0
add esp, 0xc
jmp 0x49cb76
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x40]
add ecx, 8
push ecx
call fcn.004923b0
add esp, 4
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x50]
jbe 0x49ca6e
mov eax, dword [0x537bc4]
add eax, 0x78
push eax
call fcn.00503360
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x49cf54
push 0
lea eax, [ebp - 0x80]
push eax
mov ecx, dword [ebp - 0x8c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00499e60
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49ca95
jmp 0x49cf54
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 0x4c]
push ecx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49cabe
mov eax, dword [ebp - 0x80]
push eax
call fcn.00499fa0
add esp, 4
jmp 0x49cf54
push 4
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + 0x40]
push eax
call fcn.004571c0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
sub eax, 1
push eax
mov ecx, dword [ebp - 0x80]
mov edx, dword [ecx + 0x40]
add edx, 4
push edx
call fcn.00491f60
add esp, 8
mov eax, dword [ebp - 0x2c]
lea ecx, [eax*4 - 4]
push ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x40]
add eax, 0xc
push eax
mov ecx, dword [ebp - 0x80]
mov edx, dword [ecx + 0x40]
add edx, 8
push edx
call fcn.004571c0
add esp, 0xc
mov eax, dword [ebp - 0x80]
push eax
call fcn.00499fa0
add esp, 4
cmp dword [ebp - 0x44], 0
jne 0x49cb43
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x40]
add edx, 0x20
push edx
call fcn.00491f60
add esp, 8
jmp 0x49cb76
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x4c]
push ecx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49cb60
jmp 0x49cf54
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0x40]
push edx
call fcn.00491f60
add esp, 8
mov dword [ebp - 0x38], 0
jmp 0x49cd9a
cmp dword [ebp - 0x2c], 0
jbe 0x49cd9a
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xb0], ecx
cmp dword [ebp + 0x14], 0
jbe 0x49cc4b
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0xb0]
add eax, 8
push eax
call fcn.004923b0
add esp, 4
sub eax, dword [ebp + 0x14]
push eax
call fcn.0049d040
add esp, 4
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xbc], 1
jmp 0x49cbeb
mov eax, dword [ebp - 0xbc]
add eax, 1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0x2c]
jae 0x49cc49
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb0]
lea edx, [ecx + eax*4 + 8]
push edx
call fcn.004923b0
add esp, 4
sub eax, dword [ebp + 0x14]
push eax
call fcn.0049d040
add esp, 4
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0xc8]
jge 0x49cc47
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
jmp 0x49cbdc
jmp 0x49cc55
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xb0]
lea edx, [ecx + eax*4 + 8]
push edx
call fcn.004923b0
add esp, 4
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x50]
jbe 0x49cc9a
mov eax, dword [0x537bc4]
add eax, 0xaf
push eax
call fcn.00503360
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x49cf54
movzx eax, byte [ebp - 0x65]
test eax, eax
je 0x49ccb1
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp + 0x14]
jne 0x49cd9a
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0xa4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x4c]
push ecx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49ccd9
jmp 0x49cf54
mov eax, dword [ebp - 0x2c]
sub eax, 1
cmp dword [ebp - 0x98], eax
jae 0x49cd10
push 4
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xb0]
lea edx, [ecx + eax*4 + 4]
push edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xb0]
lea edx, [ecx + eax*4 + 8]
push edx
call fcn.004571c0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
sub eax, 1
push eax
mov ecx, dword [ebp - 0xb0]
add ecx, 4
push ecx
call fcn.00491f60
add esp, 8
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0d0
add esp, 8
neg eax
sbb eax, eax
add eax, 1
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00499e60
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x49cd96
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push edx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49cd96
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.00499fa0
add esp, 4
mov byte [ebp - 0x65], 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00499fa0
add esp, 4
mov dword [ebp - 0x44], 0
movzx eax, byte [ebp - 0x65]
test eax, eax
jne 0x49c86a
jmp 0x49cf54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x4c]
push edx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49cde1
mov eax, dword [ebp - 0x14]
jmp 0x49cfc1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [0x536ec4]
xor edx, edx
div dword [ecx + 0x20]
add eax, 1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2c], eax
jne 0x49ce17
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x11]
test ecx, ecx
je 0x49cedc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049a7e0
add esp, 8
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 0x2c]
jne 0x49cedc
mov dword [ebp - 0xec], 0
push 1
lea eax, [ebp - 0xec]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00499e60
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x49ce98
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x4c]
push ecx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xec]
push eax
call fcn.00499fa0
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x49cea6
mov eax, dword [ebp - 0x14]
jmp 0x49cfc1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [0x536ec4]
xor edx, edx
div dword [ecx + 0x20]
add eax, 1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2c], eax
jne 0x49cedc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0x40]
add ecx, 0x1c
push ecx
call fcn.00491f60
add esp, 8
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [eax], edx
push 1
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00499e60
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49cf2c
mov eax, dword [ebp - 0x14]
jmp 0x49cfc1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push edx
call fcn.00492ca0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x49cf54
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.00499fa0
add esp, 4
mov eax, dword [ebp - 0x38]
push eax
call fcn.00499fa0
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
call fcn.00499fa0
add esp, 4
cmp dword [ebp - 0x14], 0
jne 0x49cfb5
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push edx
call fcn.0049d090
add esp, 4
cmp eax, 1
jle 0x49cfab
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.00499fa0
add esp, 4
mov eax, dword [0x537bc4]
add eax, 0xfd
push eax
call fcn.00503360
add esp, 4
jmp 0x49cfc1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov byte [ecx], 0
jmp 0x49cfbe
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
mov eax, dword [ebp - 0x14]
push edx
mov ecx, ebp
push eax
lea edx, [0x49cfe8]
call fcn.00504c1c
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0x1b0
cmp ebp, esp
call fcn.00504bf9
mov esp, ebp
pop ebp
ret