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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b8
mov eax, dword [0x4ae084]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x58]
cmp eax, 2
jge 0x461a83
mov eax, 0xffffff7d
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004543d6
mov esp, ebp
pop ebp
ret
cmp dword [esi + 4], 0
jne 0x461a9d
mov eax, 0xffffff76
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004543d6
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [ebp + 0x10]
push edi
test ebx, ebx
jl 0x461ef8
mov edi, dword [ebp + 0xc]
jg 0x461ab7
test edi, edi
jb 0x461ef8
cmp ebx, dword [esi + 0x14]
jg 0x461ef8
jl 0x461acb
cmp edi, dword [esi + 0x10]
ja 0x461ef8
cmp eax, 3
jl 0x461af6
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x38]
cmp ebx, dword [ecx + eax*8 + 4]
lea eax, [ecx + eax*8]
jl 0x461af1
jg 0x461ae5
cmp edi, dword [eax]
jb 0x461af1
cmp ebx, dword [eax + 0xc]
jl 0x461af6
jg 0x461af1
cmp edi, dword [eax + 8]
jb 0x461af6
call fcn.004614c0
mov edx, dword [esi + 0x5c]
or eax, 0xffffffff
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], eax
lea eax, [esi + 0x78]
push edx
push eax
call fcn.00453e20
lea eax, [esi + 0x1e0]
push eax
call fcn.004800d0
push ebx
push edi
mov eax, esi
call fcn.00460610
add esp, 0x14
test eax, eax
je 0x461b5b
or eax, 0xffffffff
lea ecx, [ebp - 0x16c]
push ecx
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], eax
call fcn.00453670
add esp, 4
call fcn.004614c0
pop edi
pop ebx
mov eax, 0xffffff77
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004543d6
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x5c]
xor eax, eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x184], eax
push edx
lea eax, [ebp - 0x16c]
push eax
call fcn.004535b0
lea ecx, [ebp - 0x16c]
push ecx
call fcn.00453dc0
add esp, 0xc
jmp 0x461ba0
mov edi, 3
cmp dword [esi + 0x58], edi
jl 0x461c71
lea edx, [ebp - 0x1b8]
push edx
lea eax, [ebp - 0x16c]
push eax
call fcn.00453f60
add esp, 8
test eax, eax
jle 0x461c71
mov eax, dword [esi + 0x60]
shl eax, 5
add eax, dword [esi + 0x48]
cmp dword [eax + 0x1c], 0
je 0x461c63
lea ecx, [ebp - 0x1b8]
push ecx
push eax
call fcn.00480a10
mov ebx, eax
add esp, 8
test ebx, ebx
jns 0x461c07
lea eax, [esi + 0x78]
push 0
push eax
call fcn.00453f60
add esp, 8
xor ebx, ebx
jmp 0x461c3f
cmp dword [ebp - 0x170], 0
je 0x461c29
cmp dword [ebp - 0x184], 0
jne 0x461c29
lea eax, [esi + 0x78]
push 0
push eax
call fcn.00453f60
add esp, 8
jmp 0x461c3f
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x461c3f
lea edx, [ebx + eax]
sar edx, 2
add dword [ebp - 0x188], edx
mov edx, dword [ebp - 0x1a8]
mov edi, dword [ebp - 0x1a4]
mov eax, edx
and eax, edi
cmp eax, 0xffffffff
jne 0x461dbf
mov dword [ebp - 0x17c], ebx
jmp 0x461ba0
lea eax, [esi + 0x78]
push 0
push eax
call fcn.00453f60
add esp, 8
cmp dword [ebp - 0x17c], 0
jne 0x461ec5
push 0xffffffffffffffff
lea ecx, [ebp - 0x198]
push 0xffffffffffffffff
push ecx
call fcn.00460670
add esp, 0xc
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], edx
test edx, edx
jl 0x461eb5
jg 0x461caf
test eax, eax
jb 0x461eb5
cmp dword [esi + 0x58], edi
jl 0x461cf8
lea edx, [ebp - 0x198]
push edx
call fcn.00453580
add esp, 4
cmp dword [esi + 0x5c], eax
je 0x461cef
lea eax, [ebp - 0x198]
push eax
call fcn.004534b0
add esp, 4
test eax, eax
je 0x461cef
call fcn.004614c0
lea ecx, [ebp - 0x16c]
push ecx
call fcn.00453670
add esp, 4
cmp dword [esi + 0x58], edi
jge 0x461d82
lea edx, [ebp - 0x198]
push edx
call fcn.00453580
mov ecx, dword [esi + 0x34]
add esp, 4
xor edi, edi
mov ebx, eax
test ecx, ecx
jle 0x461d21
mov eax, dword [esi + 0x40]
cmp dword [eax], ebx
je 0x461d21
inc edi
add eax, 4
cmp edi, ecx
jl 0x461d15
cmp edi, ecx
je 0x461ba0
lea eax, [esi + 0x78]
push ebx
push eax
mov dword [esi + 0x60], edi
mov dword [esi + 0x5c], ebx
call fcn.00453e20
lea eax, [ebp - 0x16c]
push ebx
push eax
call fcn.00453e20
mov eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0x174]
add esp, 0x10
mov dword [esi + 0x58], 3
cmp ecx, dword [eax + edi*8 + 4]
jg 0x461d78
jl 0x461d6c
mov edx, dword [ebp - 0x178]
cmp edx, dword [eax + edi*8]
ja 0x461d78
mov dword [ebp - 0x184], 1
jmp 0x461d82
mov dword [ebp - 0x184], 0
lea eax, [ebp - 0x198]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.00453a20
lea ecx, [ebp - 0x198]
push ecx
lea edx, [ebp - 0x16c]
push edx
call fcn.00453a20
lea eax, [ebp - 0x198]
push eax
call fcn.004534d0
add esp, 0x14
mov dword [ebp - 0x170], eax
jmp 0x461ba0
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x170], ecx
add ecx, ecx
sub edx, dword [eax + ecx*8]
sbb edi, dword [eax + ecx*8 + 4]
xor ecx, ecx
mov ebx, edi
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x174], ebx
cmp ebx, ecx
jg 0x461dfc
jl 0x461dee
cmp edx, ecx
jae 0x461dfc
xor ebx, ebx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x174], ebx
xor edi, edi
xor edx, edx
cmp dword [ebp - 0x170], 2
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x17c], ecx
jl 0x461e5e
mov edx, dword [esi + 0x60]
add edx, 0xfffffffe
shr edx, 1
inc edx
add eax, 0x18
mov dword [ebp - 0x170], edx
add edx, edx
mov dword [ebp - 0x184], edx
nop
mov edx, dword [eax - 0x10]
add dword [ebp - 0x180], edx
mov edx, dword [eax - 0xc]
adc dword [ebp - 0x17c], edx
add ecx, dword [eax]
adc edi, dword [eax + 4]
add eax, 0x20
dec dword [ebp - 0x170]
jne 0x461e30
mov ebx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x184]
cmp edx, dword [esi + 0x60]
jge 0x461e82
mov eax, dword [esi + 0x44]
shl edx, 4
mov eax, dword [edx + eax + 8]
add dword [ebp - 0x178], eax
mov eax, dword [esi + 0x44]
mov eax, dword [edx + eax + 0xc]
mov dword [ebp - 0x170], edx
adc ebx, eax
mov eax, dword [ebp - 0x188]
cdq
sub ecx, eax
sbb edi, edx
add ecx, dword [ebp - 0x180]
adc edi, dword [ebp - 0x17c]
add ecx, dword [ebp - 0x178]
adc edi, ebx
xor eax, eax
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], edi
cmp edi, eax
jg 0x461ece
jl 0x461ec8
cmp ecx, eax
jae 0x461ece
jmp 0x461ec8
push 0xffffffffffffffff
push esi
call fcn.004619c0
add esp, 8
mov dword [esi + 0x54], edx
jmp 0x461ecb
or eax, 0xffffffff
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
lea ecx, [ebp - 0x16c]
push ecx
call fcn.00453670
fldz
add esp, 4
fst qword [esi + 0x68]
pop edi
fstp qword [esi + 0x70]
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004543d6
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
pop ebx
xor ecx, ebp
mov eax, 0xffffff7d
pop esi
call fcn.004543d6
mov esp, ebp
pop ebp
ret