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

Disassembly:
push 0xffffffffffffffff
push 0x495286
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x4b15e0]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4b15e0]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov eax, dword [esp + 0xb4]
add byte [eax], al
mov ebp, dword [esp + 0xb0]
xor ebx, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0xac], ebx
call fcn.0040a780
mov byte [esp + 0xa8], 1
add esi, eax
inc esp
and al, 0x1b
add dword [ecx], edi
pop ebp
sbb al, 0xf
test cl, dh
add al, byte [eax]
invalid
jmp 0x403633
xor ebx, ebx
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
add edx, edi
cmp edi, edx
jbe 0x403644
call fcn.00460e8f
mov esi, dword [ebp]
cmp esi, ebx
jne 0x40366b
call fcn.00460e8f
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp edi, ecx
jb 0x403663
call fcn.00460e8f
cmp esi, ebx
je 0x403671
mov eax, dword [esi]
jmp 0x403673
mov eax, dword [esi]
mov ecx, eax
jmp 0x403654
xor eax, eax
cmp dword [eax + 0x14], edi
ja 0x403685
cmp esi, ebx
je 0x403680
mov eax, dword [esi]
jmp 0x403682
xor eax, eax
sub edi, dword [eax + 0x14]
cmp esi, ebx
je 0x40368d
mov esi, dword [esi]
jmp 0x40368f
xor esi, esi
mov edx, dword [esi + 0x10]
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
mov ebx, dword [edx + edi*4]
add eax, esi
cmp esi, eax
jbe 0x4036a6
call fcn.00460e8f
mov edi, dword [ebp]
test edi, edi
jne 0x4036cd
call fcn.00460e8f
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp esi, ecx
jb 0x4036c5
call fcn.00460e8f
test edi, edi
je 0x4036d3
mov eax, dword [edi]
jmp 0x4036d5
mov eax, dword [edi]
mov ecx, eax
jmp 0x4036b6
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4036e7
test edi, edi
je 0x4036e2
mov eax, dword [edi]
jmp 0x4036e4
xor eax, eax
sub esi, dword [eax + 0x14]
test edi, edi
je 0x4036ef
mov edi, dword [edi]
jmp 0x4036f1
xor edi, edi
mov edx, dword [edi + 0x10]
mov esi, dword [edx + esi*4]
add esi, 0x1c
cmp byte [esp + 0x1b], 0
mov dword [esp + 0x3c], esi
je 0x40372b
push 0xffffffffffffffff
push 0
push ebx
lea ecx, [esp + 0x8c]
call fcn.00402d00
push esi
lea ebx, [esp + 0x24]
call fcn.00409ea0
xor ebx, ebx
mov byte [esp + 0x1b], bl
jmp 0x4038b5
cmp dword [esp + 0x98], 0x10
mov edx, dword [esp + 0x84]
jae 0x403743
lea edx, [esp + 0x84]
mov esi, dword [ebx + 0x14]
mov eax, esi
cmp eax, esi
jae 0x40374c
mov edi, dword [esp + 0x94]
mov ecx, esi
cmp esi, edi
jb 0x40375b
mov ecx, edi
cmp dword [ebx + 0x18], 0x10
jb 0x403766
mov eax, dword [ebx + 4]
jmp 0x403769
lea eax, [ebx + 4]
push ecx
push edx
push eax
call fcn.0040f530
add esp, 0xc
test eax, eax
jne 0x403789
cmp esi, edi
jb 0x403789
cmp esi, edi
setne al
test eax, eax
je 0x4038a5
sub esp, 0x18
mov eax, esp
mov dword [esp + 0x58], esp
push eax
lea ecx, [esp + 0x3c]
call fcn.00409d30
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0xdc], 2
mov dword [esp + 0x50], esp
push 0xffffffffffffffff
push 0
lea edx, [esp + 0xbc]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push edx
mov byte [ecx + 4], 0
call fcn.00402d00
lea esi, [esp + 0x78]
mov byte [esp + 0xdc], 1
call fcn.0040db60
add esp, 0x34
mov edi, dword [esp + 0x38]
push eax
mov byte [esp + 0xac], 3
call fcn.0040a6e0
mov byte [esp + 0xa8], 1
mov eax, dword [esp + 0x6c]
xor esi, esi
cmp eax, esi
je 0x403826
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x70]
push ecx
call fcn.0040e590
mov edx, dword [esp + 0x70]
add esp, 4
push edx
call fcn.00460cac
add esp, 4
mov eax, dword [esp + 0x60]
push eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
call fcn.00460cac
add esp, 4
cmp dword [esp + 0x5c], 0x10
jb 0x403853
mov ecx, dword [esp + 0x48]
push ecx
call fcn.00460cac
add esp, 4
push 0xffffffffffffffff
push esi
push ebx
lea ecx, [esp + 0x8c]
call fcn.00402d00
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov ebx, eax
cmp ecx, eax
jbe 0x40387e
call fcn.00460e8f
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
mov edi, ecx
cmp ecx, eax
jbe 0x40388d
call fcn.00460e8f
mov edx, dword [esp + 0x20]
push ebx
push esi
push edi
push edx
lea ebx, [esp + 0x88]
lea esi, [esp + 0x30]
call fcn.0040afc0
mov eax, dword [esp + 0x3c]
push eax
lea ebx, [esp + 0x24]
call fcn.00409ea0
xor ebx, ebx
cmp dword [ebp + 0x1c], ebx
je 0x40391e
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov esi, dword [ecx + eax*4]
cmp dword [esi + 0x34], 0x10
jb 0x4038d5
mov eax, dword [esi + 0x20]
push eax
call fcn.00460cac
add esp, 4
mov edi, 0xf
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], ebx
mov byte [esi + 0x20], bl
cmp dword [esi + 0x18], 0x10
jb 0x4038f5
mov eax, dword [esi + 4]
push eax
call fcn.00460cac
add esp, 4
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
mov byte [esi + 4], bl
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp dword [ebp + 0x14], eax
ja 0x40390c
mov dword [ebp + 0x18], ebx
add dword [ebp + 0x1c], 0xffffffff
jne 0x403915
mov dword [ebp + 0x18], ebx
cmp dword [ebp + 0x1c], ebx
jne 0x403631
xor ebx, ebx
cmp dword [esp + 0x94], ebx
je 0x403996
sub esp, 0x18
mov edx, esp
mov dword [esp + 0x34], esp
push edx
lea ecx, [esp + 0x3c]
call fcn.00409d30
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0xdc], 4
mov dword [esp + 0x74], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0xbc]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], 0
call fcn.00402d00
lea esi, [esp + 0x78]
mov byte [esp + 0xdc], 1
call fcn.0040db60
add esp, 0x34
mov edi, dword [esp + 0x38]
push eax
mov byte [esp + 0xac], 5
call fcn.0040a6e0
call fcn.00403a20
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x4039bc
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
push ecx
call fcn.0040e590
mov edx, dword [esp + 0x30]
add esp, 4
push edx
call fcn.00460cac
add esp, 4
mov eax, dword [esp + 0x20]
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.00460cac
add esp, 4
cmp dword [esp + 0x98], 0x10
jb 0x4039ef
mov ecx, dword [esp + 0x84]
push ecx
call fcn.00460cac
add esp, 4
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.0046164a
add esp, 0x98
ret