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

Disassembly:
mov ecx, dword [0x587cec]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x49eb9f
sub esp, 0x68
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.0049e6e0
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x49e94e
mov dword [esp + 0x58], ecx
mov edx, dword [eax + 0x38]
test edx, edx
je 0x49e86d
mov ebx, dword [eax + 0x28]
mov dword [esp + 0x54], ebx
mov ebp, dword [eax + 0x2c]
mov dword [esp + 0x50], ebp
mov esi, dword [esp + 0x74]
cmp esi, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
setg cl
mov ebp, dword [esp + 0x70]
cmp ebp, ebx
setae bl
and ebx, edi
or ecx, ebx
test cl, cl
je 0x49e875
mov ebx, dword [eax + 0x30]
mov dword [esp + 0x4c], ebx
mov edi, dword [eax + 0x34]
mov dword [esp + 0x48], edi
cmp esi, edi
setl cl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ebp, ebx
setb bl
and ebx, edi
or ebx, ecx
test bl, bl
je 0x49e875
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov ebx, dword [edx + 8]
movzx edx, byte [edx + 0xc]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], eax
mov byte [esp + 0x94], dl
add esp, 0x68
ret
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x64], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x49e8c4
mov edx, dword [eax + 0x14]
mov ebx, dword [edx + 4]
cmp esi, ebx
setl bl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp dword [edx], ebp
seta al
and eax, edi
or eax, ebx
test al, al
jne 0x49e8c0
mov dword [esp + 0x60], edx
mov dword [esp + 0x44], ecx
mov eax, ecx
xor ebx, ebx
mov edi, 0x7fffffff
mov eax, 0xffffffff
mov dword [esp + 0x54], eax
mov eax, ecx
jmp 0x49e9c6
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0049ebb0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 4]
cmp ecx, edx
jbe 0x49e9a3
mov ecx, dword [eax + 8]
shl edx, 4
mov ebx, dword [eax + 0x18]
mov ebp, dword [edx + ecx]
mov esi, dword [edx + ecx + 4]
mov edi, dword [edx + ecx + 8]
test ebx, ebx
je 0x49e901
mov eax, dword [eax + 0x14]
mov ebx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x49e90b
mov ebx, 0x7fffffff
mov eax, 0xffffffff
movzx ecx, byte [edx + ecx + 0xc]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0x80000000
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
mov byte [esp + 0x94], cl
add esp, 0x68
ret
lea eax, [0x4d6df0]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 3
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0x80000000
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x90], 0x7fffffff
mov byte [esp + 0x94], 0
add esp, 0x68
ret
mov eax, edx
call fcn.00474b20
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x44]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x54], ecx
mov ecx, edi
mov edi, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], edi
sub ecx, ebx
cmp ecx, 1
jle 0x49ea27
mov edi, dword [esp + 0x3c]
lea ecx, [ebx + edi]
shr ecx, 1
cmp eax, ecx
jbe 0x49eb93
mov dword [esp + 0x40], ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [edx + eax*4]
mov eax, dword [edx + eax*4 + 4]
cmp esi, eax
xchg esi, ebx
setl bl
xchg esi, ebx
sete dl
cmp ebp, ecx
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, edx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x49ea19
mov edi, dword [esp + 0x40]
jmp 0x49e9aa
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
jmp 0x49e9aa
cmp ebx, eax
jae 0x49eb8a
lea ecx, [ebx + ebx*2]
lea esi, [edx + ecx*4 + 8]
movzx esi, byte [esi]
mov ebp, dword [esp + 0x58]
cmp ebp, esi
jbe 0x49eb81
mov ebp, dword [esp + 0x64]
mov edi, dword [ebp + 8]
shl esi, 4
dec eax
mov ebp, dword [esi + edi]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esi + edi + 4]
mov dword [esp + 0x58], ebp
mov ebp, dword [esi + edi + 8]
mov dword [esp + 0x44], ebp
mov ebp, dword [edx + ecx*4 + 4]
mov ecx, dword [edx + ecx*4]
movzx edx, byte [esi + edi + 0xc]
cmp ebx, eax
jne 0x49eb37
mov eax, dword [esp + 0x64]
mov ebx, dword [eax + 0x24]
test ebx, ebx
je 0x49eb37
mov byte [esp + 0x3b], dl
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
call fcn.0049ece0
movzx eax, byte [esp + 0x35]
test al, al
jne 0x49ead5
mov ecx, dword [esp + 0x4c]
movzx edx, byte [esp + 0x3b]
mov ebp, dword [esp + 0x48]
jmp 0x49eb37
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
movzx ebp, byte [esp + 0x34]
xchg ebp, eax
mov byte [esp + 0x3a], al
xchg ebp, eax
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebp
movzx eax, byte [esp + 0x3a]
mov byte [esp + 0x94], al
add esp, 0x68
ret
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebp
mov eax, dword [esp + 0x54]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x90], eax
mov byte [esp + 0x94], dl
add esp, 0x68
ret
mov eax, esi
mov ecx, ebp
call fcn.00474b20
mov ecx, eax
mov eax, ebx
call fcn.00474b20
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00474b20
nop
call fcn.004736a0
jmp fcn.0049e780