Function at 0x462660
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 0x462686
mov eax, 0x80070057
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 0x4b0cf8
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, 0x4da68c
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], 0x4b98a0
mov dword [esp + 0xa0], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xc], edx
cmp edx, ecx
jb 0x46275c
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.0x4628ba.6
cmp eax, esi
je case.0x4628ba.6
cmp eax, 8
je case.0x4628ba.6
mov ecx, dword [esp + 0x18]
lea eax, [ecx - 1]
cmp eax, esi
ja case.0x4627a4.3
jmp dword [eax*4 + 0x462a00]
mov eax, ecx
jmp 0x4627de
mov eax, dword [esp + 0x10]
push ebx
call fcn.0041a4f0
jmp 0x4627de
cmp dword [esp + 0x14], ebx
je 0x4627c8
mov eax, 1
jmp 0x4627de
mov eax, dword [esp + 0x10]
push ebx
push 1
push ebx
push 1
call fcn.0047fe10
add esp, 0x10
jmp 0x4627de
xor eax, eax
dec eax
je 0x462917
dec eax
mov eax, dword [esp + 0x18]
je 0x4628b4
cmp eax, 6
je 0x462828
cmp eax, esi
jne 0x46280b
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x17], bl
jne 0x462805
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x462828
xor ecx, ecx
lea eax, [esp + 0x10]
call fcn.0045ad90
xor ecx, ecx
cmp word [eax], bx
setne cl
mov eax, ecx
cmp eax, ebx
je case.0x4628ba.6
lea esi, [esp + 0x68]
lea ecx, [esp + 0x24]
call fcn.004055cb
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov esi, edi
lea eax, [esp + 0x68]
call fcn.00461270
cmp dword [esp + 0xc], 2
jle 0x462865
lea esi, [esp + 0x68]
lea ecx, [esp + 0x40]
call fcn.004055cb
lea esi, [edi + 0x10]
lea eax, [esp + 0x68]
call fcn.00461270
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x462873
mov ecx, dword [esp + 0xc]
dec ecx
mov dword [eax], ecx
xor ebx, ebx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x462886
push eax
call fcn.0049a18d
add esp, 4
cmp dword [esp + 0x18], 6
jne 0x462899
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
cmp byte [esp + 0x3b], bl
jne 0x46292f
mov ecx, dword [esp + 0x30]
push ebx
xor al, al
call fcn.004838e0
jmp 0x46298a
dec eax
cmp eax, 5
ja case.0x4628ba.3
jmp dword [eax*4 + 0x462a14]
fild qword [esp + 0x10]
jmp 0x4628f3
fld qword [esp + 0x10]
jmp 0x4628f3
mov eax, dword [esp + 0x10]
push 1
call fcn.0041a5e0
jmp 0x4628f3
mov eax, dword [esp + 0x14]
cmp eax, ebx
je case.0x4628ba.3
fild qword [eax]
jmp 0x4628f3
mov edx, dword [esp + 0x10]
push edx
call fcn.0049c2f2
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x462828
mov eax, dword [ebp + 0x14]
cmp eax, ebx
je 0x46290b
mov dword [eax], ebx
mov dword [ebp + 0xc], 0xffffffff
jmp 0x462875
push 1
lea ecx, [esp + 0x14]
call fcn.0045ac50
add esp, 4
or eax, edx
jne 0x462828
jmp case.0x4628ba.6
test byte [esp + 0x39], 2
je 0x462947
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 0x462981
dec eax
jne 0x46298a
cmp dword [esp + 0x34], ebx
je 0x46298a
mov eax, dword [esp + 0x2c]
push eax
call fcn.0049a18d
add esp, 4
and byte [esp + 0x39], 0x7f
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], 0x4da68c
jmp 0x46298a
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov word [edx], cx
cmp byte [esp + 0x57], bl
jne 0x46299e
mov ecx, dword [esp + 0x4c]
push ebx
xor al, al
call fcn.004838e0
jmp 0x4629e8
test byte [esp + 0x55], 2
je 0x4629b6
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 0x4629df
dec eax
jne 0x4629e8
cmp dword [esp + 0x50], ebx
je 0x4629e8
mov eax, dword [esp + 0x48]
push eax
call fcn.0049a18d
add esp, 4
jmp 0x4629e8
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