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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5736fc
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x668038]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 8]
mov eax, ebx
call fcn.004638a0
test al, al
jne 0x459aac
cmp edi, 0x96
jne 0x4595e4
mov ecx, ebx
call fcn.0045b3f0
jmp 0x459aac
cmp edi, 0x97
jne 0x4595f8
mov eax, ebx
call fcn.0045bd50
jmp 0x459aac
cmp edi, 0x95
jne 0x459621
mov esi, dword [ebx]
mov eax, dword [esi + 0x2c]
mov ecx, ebx
call eax
test al, al
mov eax, dword [esi + 0x98]
sete cl
movzx edx, cl
push edx
mov ecx, ebx
call eax
jmp 0x459aac
mov eax, dword [ebx + 0x58]
lea ecx, [esp + 0x30]
call fcn.004a03c0
mov dword [esp + 0x78], 0
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x459a9b
cmp edi, 0x73
jne 0x459670
push eax
lea ecx, [esp + 0x28]
push ecx
lea esi, [esp + 0x38]
call fcn.004662f0
mov byte [esp + 0x78], 1
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x40]
call eax
mov byte [esp + 0x78], 0
lea ecx, [esp + 0x24]
jmp 0x459a95
cmp edi, 0x74
jne 0x4596a1
push eax
lea edx, [esp + 0x28]
push edx
lea esi, [esp + 0x38]
call fcn.004662f0
mov byte [esp + 0x78], 2
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0x44]
call edx
mov byte [esp + 0x78], 0
lea eax, [esp + 0x24]
push eax
jmp 0x459a96
cmp edi, 0x75
je 0x459a6f
cmp edi, 0x7c
je 0x459a6f
cmp edi, 0x76
jne 0x4596e3
push eax
lea ecx, [esp + 0x28]
push ecx
lea esi, [esp + 0x38]
call fcn.004662f0
mov byte [esp + 0x78], 4
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x48]
call eax
mov byte [esp + 0x78], 0
lea ecx, [esp + 0x24]
jmp 0x459a95
cmp edi, 0x77
jne 0x459714
push eax
lea edx, [esp + 0x28]
push edx
lea esi, [esp + 0x38]
call fcn.004662f0
mov byte [esp + 0x78], 5
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0x4c]
call edx
mov byte [esp + 0x78], 0
lea eax, [esp + 0x24]
push eax
jmp 0x459a96
cmp edi, 0x78
jne 0x459734
lea esi, [esp + 0x30]
call fcn.004a0430
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
push 0
push 0
mov ecx, ebx
call eax
jmp 0x459a9b
cmp edi, 0x7d
jne 0x459764
push eax
lea ecx, [esp + 0x28]
push ecx
lea esi, [esp + 0x38]
call fcn.004662f0
mov byte [esp + 0x78], 6
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x54]
call eax
mov byte [esp + 0x78], 0
lea ecx, [esp + 0x24]
jmp 0x459a95
cmp edi, 0x7b
jne 0x459780
lea esi, [esp + 0x30]
call fcn.004a0430
mov edx, dword [ebx]
mov eax, dword [edx + 0x40]
mov ecx, ebx
call eax
jmp 0x459a9b
cmp edi, 0x7e
jne 0x45996e
cmp dword [ebx + 0x124], 0
jne 0x459962
mov eax, dword [ebx + 0x68]
lea ecx, [eax + 0xc3c]
test ecx, ecx
je 0x4597aa
add eax, 0xc48
jmp 0x4597ac
xor eax, eax
lea esi, [esp + 0x24]
call fcn.004992f0
mov byte [esp + 0x78], 7
mov eax, dword [ebx + 0x68]
lea edx, [eax + 0xc50]
test edx, edx
je 0x4597ce
add eax, 0xc60
jmp 0x4597d0
xor eax, eax
lea esi, [esp + 0x20]
call fcn.004992f0
mov byte [esp + 0x78], 8
mov eax, dword [ebx + 0x68]
add eax, 0xc34
call fcn.00408130
push eax
call fcn.004ad790
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x78], 9
mov eax, dword [ebx + 0x68]
add eax, 0xc84
call fcn.00403be0
lea ecx, [esp + 0x38]
mov byte [esp + 0x17], al
call fcn.0049c180
mov byte [esp + 0x78], 0xa
push 0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x1f]
push ecx
lea edx, [esp + 0x28]
push edx
mov eax, esi
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
call fcn.004660f0
test al, al
je 0x459925
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
push 1
lea eax, [esp + 0x30]
push eax
call edx
mov byte [esp + 0x78], 0xb
lea ecx, [esp + 0x28]
push ecx
mov edi, eax
call fcn.00499300
mov byte [esp + 0x78], 0xc
mov ecx, dword [ebx + 0x68]
add ecx, 0xc28
call fcn.004080d0
mov byte [esp + 0x78], 0xb
lea ecx, [esp + 0x28]
call fcn.00499450
mov byte [esp + 0x78], 0xa
lea ecx, [esp + 0x2c]
call fcn.00499450
lea eax, [esp + 0x24]
lea esi, [esp + 0x2c]
call fcn.004992f0
mov byte [esp + 0x78], 0xd
mov ecx, dword [ebx + 0x68]
add ecx, 0xc3c
call fcn.004080d0
mov byte [esp + 0x78], 0xa
mov ecx, esi
call fcn.00499450
lea eax, [esp + 0x20]
lea esi, [esp + 0x2c]
call fcn.004992f0
mov byte [esp + 0x78], 0xe
mov ecx, dword [ebx + 0x68]
mov edx, dword [ecx + 0xc5c]
add ecx, 0xc5c
call fcn.00408130
push eax
mov eax, dword [edx]
call eax
mov byte [esp + 0x78], 0xa
mov ecx, esi
call fcn.00499450
mov edx, dword [ebx + 0x68]
add edx, 0xc84
lea eax, [esp + 0x17]
call fcn.0040f1e0
mov ecx, dword [ebx + 0x68]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
test al, al
je 0x459925
mov ecx, dword [ebx + 0x68]
push ecx
call fcn.00440740
add esp, 4
mov byte [esp + 0x78], 9
lea ecx, [esp + 0x38]
call fcn.0049c2c0
mov byte [esp + 0x78], 8
lea ecx, [esp + 0x1c]
call fcn.004c2f70
mov byte [esp + 0x78], 7
lea ecx, [esp + 0x20]
call fcn.00499450
mov byte [esp + 0x78], 0
lea ecx, [esp + 0x24]
call fcn.00499450
jmp 0x459a9b
mov esi, ebx
call fcn.00466230
jmp 0x459a9b
lea esi, [esp + 0x30]
call fcn.004a0430
mov edx, dword [ebx]
mov eax, dword [edx + 0xc4]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x2c]
push edi
call eax
test al, al
jne 0x459a9b
mov edx, dword [ebx + 0x70]
push edi
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.0044de30
mov byte [esp + 0x78], 0xf
lea eax, [esp + 0x18]
call fcn.0049b410
test eax, eax
jle 0x459a5f
mov edx, dword [ebx]
lea eax, [esp + 0x18]
call fcn.0049b410
push eax
lea eax, [esp + 0x1c]
call fcn.00408130
push eax
mov eax, dword [edx + 0x88]
mov ecx, ebx
call eax
mov ecx, dword [ebx + 0x70]
cmp dword [ecx + 0xa8], 0
je 0x459a52
mov esi, 0x605808
lea eax, [esp + 0x18]
call fcn.0049bc60
test al, al
je 0x459a52
call fcn.00493a10
mov edx, dword [ebx]
mov eax, dword [edx + 0x88]
push 1
push 0x6099f8
mov ecx, ebx
call eax
lea eax, [esp + 0x18]
call fcn.0049b410
mov esi, eax
inc esi
mov byte [esp + 0x78], 0
lea ecx, [esp + 0x18]
call fcn.00499450
mov dword [esp + 0x78], 0xffffffff
lea eax, [esp + 0x30]
call fcn.004a03e0
mov eax, esi
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x18]
call fcn.0049b410
mov esi, eax
jmp 0x459a1c
mov byte [esp + 0x78], 0
lea ecx, [esp + 0x18]
call fcn.00499450
jmp 0x459a9b
push eax
lea ecx, [esp + 0x30]
push ecx
lea esi, [esp + 0x38]
call fcn.004662f0
mov byte [esp + 0x78], 3
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x50]
call eax
mov byte [esp + 0x78], 0
lea ecx, [esp + 0x2c]
push ecx
call fcn.00449d40
mov dword [esp + 0x78], 0xffffffff
lea eax, [esp + 0x30]
call fcn.004a03e0
xor eax, eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4