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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov edx, dword [ebp + 0xc]
sub esp, 0x2ac
push ebx
xor ebx, ebx
push esi
push edi
cmp edx, ebx
jne 0x459a66
mov eax, 0x80070057
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 0x4a48a0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x64], ecx
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x24]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
lea ecx, [esp + 0x40]
mov dword [esp + 0xa8], ecx
movzx ecx, byte [eax + 0x10]
mov dword [esp + 0x78], esi
mov esi, 0x4cc4d0
inc edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x48], esi
mov esi, 4
add ecx, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x80], 6
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], 0x1000402
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 0x1000402
mov dword [esp + 0x90], ebx
mov dword [esp + 0x88], 0x4abff8
mov dword [esp + 0xa0], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xc], edx
cmp edx, ecx
jb 0x459b3c
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
push ecx
lea ecx, [esp + 0x60]
push ecx
push 2
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x20]
push ecx
push eax
call edx
cmp eax, ebx
je case.0x459c58.6
cmp eax, esi
je case.0x459c58.6
cmp eax, 8
je case.0x459c58.6
lea eax, [esp + 0x10]
push eax
call fcn.00451480
add esp, 4
dec eax
je 0x459cb5
dec eax
mov eax, dword [esp + 0x18]
je 0x459c52
cmp eax, 6
je 0x459bd0
cmp eax, esi
jne 0x459bb3
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x17], bl
jne 0x459bad
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x459bd0
xor ecx, ecx
lea eax, [esp + 0x10]
call fcn.00451710
xor ecx, ecx
cmp word [eax], bx
setne cl
mov eax, ecx
cmp eax, ebx
je case.0x459c58.6
lea esi, [esp + 0x68]
lea ecx, [esp + 0x24]
call fcn.00415760
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov eax, esi
call fcn.004585f0
cmp dword [esp + 0xc], 2
jle 0x459c03
lea ecx, [esp + 0x40]
call fcn.00415760
add edi, 0x10
mov eax, esi
call fcn.004585f0
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x459c11
mov ecx, dword [esp + 0xc]
dec ecx
mov dword [eax], ecx
xor ebx, ebx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x459c24
push eax
call fcn.00491536
add esp, 4
cmp dword [esp + 0x18], 6
jne 0x459c37
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
cmp byte [esp + 0x3b], bl
jne 0x459ccd
mov ecx, dword [esp + 0x30]
push ebx
xor al, al
call fcn.0047abb0
jmp 0x459d28
dec eax
cmp eax, 5
ja case.0x459c58.3
jmp dword [eax*4 + 0x459da0]
fild qword [esp + 0x10]
jmp 0x459c91
fld qword [esp + 0x10]
jmp 0x459c91
mov eax, dword [esp + 0x10]
push 1
call fcn.004156b0
jmp 0x459c91
mov eax, dword [esp + 0x14]
cmp eax, ebx
je case.0x459c58.3
fild qword [eax]
jmp 0x459c91
mov edx, dword [esp + 0x10]
push edx
call fcn.004929e2
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x459bd0
mov eax, dword [ebp + 0x14]
cmp eax, ebx
je 0x459ca9
mov dword [eax], ebx
mov dword [ebp + 0xc], 0xffffffff
jmp 0x459c13
push 1
lea ecx, [esp + 0x14]
call fcn.004515d0
add esp, 4
or eax, edx
jne 0x459bd0
jmp case.0x459c58.6
test byte [esp + 0x39], 2
je 0x459ce5
mov eax, dword [esp + 0x24]
and byte [esp + 0x39], 0x3d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
movzx eax, byte [esp + 0x38]
and byte [esp + 0x39], 0x82
dec eax
mov dword [esp + 0x30], ebx
je 0x459d1f
dec eax
jne 0x459d28
cmp dword [esp + 0x34], ebx
je 0x459d28
mov eax, dword [esp + 0x2c]
push eax
call fcn.00491536
add esp, 4
and byte [esp + 0x39], 0x7f
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], 0x4cc4d0
jmp 0x459d28
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov word [edx], cx
cmp byte [esp + 0x57], bl
jne 0x459d3c
mov ecx, dword [esp + 0x4c]
push ebx
xor al, al
call fcn.0047abb0
jmp 0x459d86
test byte [esp + 0x55], 2
je 0x459d54
mov eax, dword [esp + 0x40]
and byte [esp + 0x55], 0x3d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
movzx eax, byte [esp + 0x54]
and byte [esp + 0x55], 0x82
dec eax
mov dword [esp + 0x4c], ebx
je 0x459d7d
dec eax
jne 0x459d86
cmp dword [esp + 0x50], ebx
je 0x459d86
mov eax, dword [esp + 0x48]
push eax
call fcn.00491536
add esp, 4
jmp 0x459d86
mov edx, dword [esp + 0x48]
xor ecx, ecx
mov word [edx], cx
mov eax, dword [ebp + 0xc]
inc eax
xor ecx, ecx
cmp eax, dword [esp + 0xc]
pop edi
setne cl
pop esi
pop ebx
mov eax, ecx
mov esp, ebp
pop ebp
ret 0x10