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

Disassembly:
push 0xffffffffffffffff
push 0x837c07
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x154
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x160], ebx
push ebx
or ebp, 0xffffffff
push ebp
mov dword [esp + 0x174], ebx
mov byte [esp + 0x1b], bl
mov dword [esp + 0x64], 0xbfc00000
mov dword [esp + 0x68], 0x3ff33333
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], 0xbfc00000
mov dword [esp + 0x74], 0xc0266666
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0x3fc00000
mov dword [esp + 0x80], 0x3ff33333
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], 0x3fc00000
mov dword [esp + 0x8c], 0xc0266666
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], 0xbfc00000
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], 0x3fc00000
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], 0x404ccccd
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], 0x3fc00000
mov dword [esp + 0xbc], 0xbfe66666
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], 0x404ccccd
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], 0xbfc00000
mov dword [esp + 0xd4], 0xbfe66666
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 0xbfc00000
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], 0x3fc00000
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
call fcn.0056e0d0
add esp, 8
test eax, eax
je 0x4612f8
push ebx
push ebp
call fcn.0056e0d0
add esp, 8
mov eax, dword [esp + 0x17c]
cmp eax, 6
jne 0x46138d
mov edi, dword [esp + 0x174]
movsx eax, word [edi + 0x22]
add eax, 0xfffffe55
cmp eax, 0xac
ja case.0x461326.428
movzx eax, byte [eax + 0x461910]
jmp dword [eax*4 + 0x4618fc]
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 0x11d
mov byte [esp + 0x13], 1
jmp 0x4613e9
mov dword [esp + 0x18], 4
mov dword [esp + 0x14], 0x11e
mov byte [esp + 0x13], 1
jmp 0x4613e9
mov dword [esp + 0x18], 5
mov dword [esp + 0x14], 0x11f
mov byte [esp + 0x13], 1
jmp 0x4613e9
mov dword [esp + 0x18], ebx
mov byte [esp + 0x13], 1
jmp 0x4613e9
mov dword [esp + 0x18], ebx
mov byte [esp + 0x13], bl
jmp 0x4613e9
cmp eax, 7
jl 0x4613e2
cmp eax, 0x10
jg 0x4613e2
xor esi, esi
lea esp, [esp]
mov ecx, dword [0xc0bc68]
cmp byte [esi + ecx], bl
jbe 0x4613bc
push esi
call fcn.005de5a0
add esp, 4
cmp eax, ebp
mov dword [esp + 0x14], eax
jne 0x4613e2
inc esi
cmp esi, 0xa
jl 0x4613a0
cmp dword [esp + 0x14], ebp
jne 0x4613e2
lea ecx, [esp + 0x11c]
mov dword [esp + 0x16c], ebp
call fcn.0059acd0
xor al, al
jmp 0x4618e1
mov edi, dword [esp + 0x174]
mov ecx, edi
call fcn.00535300
mov edx, dword [eax + 0x24]
push ebx
mov dword [esp + 0x28], edx
call fcn.00407c50
mov eax, dword [eax*4 + 0xa9b0c8]
mov eax, dword [eax + 0x14]
fld dword [eax + 0x24]
mov al, byte [edi + 0x4ae]
fld dword [esp + 0x28]
add esp, 4
cmp al, bl
fdiv st(1)
mov dword [esp + 0x24], ebx
fstp dword [esp + 0x20]
fstp st(0)
jbe 0x4618cc
mov ebp, dword [esp + 0x178]
lea ebp, [ebp + ebp*2]
shl ebp, 3
jmp 0x461442
mov edi, dword [esp + 0x174]
mov al, byte [esp + 0x13]
fld dword [esp + 0x20]
cmp al, bl
mov eax, dword [edi + 0x14]
je 0x461487
fmul dword [esp + ebp + 0xac]
lea ecx, [esp + 0x44]
fld dword [esp + 0x20]
lea edx, [esp + 0x110]
fmul dword [esp + ebp + 0xa8]
fld dword [esp + 0x20]
fmul dword [esp + ebp + 0xa4]
fstp dword [esp + 0x44]
fstp dword [esp + 0x48]
fstp dword [esp + 0x4c]
jmp 0x4614b2
fmul dword [esp + ebp + 0x64]
lea ecx, [esp + 0x50]
fld dword [esp + 0x20]
lea edx, [esp + 0x104]
fmul dword [esp + ebp + 0x60]
fld dword [esp + 0x20]
fmul dword [esp + ebp + 0x5c]
fstp dword [esp + 0x50]
fstp dword [esp + 0x54]
fstp dword [esp + 0x58]
push ecx
push eax
push edx
call fcn.0059c890
mov ecx, dword [eax]
mov esi, dword [esp + 0x188]
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov eax, dword [eax + 8]
add esp, 0xc
cmp esi, 6
mov dword [esp + 0x30], eax
jne 0x46155b
mov esi, dword [esp + 0x18]
cmp esi, ebx
je 0x461521
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*4]
cmp byte [ecx*4 + 0x8e4cd0], 1
je 0x461521
push 0x7c4
call fcn.005e4720
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x16c], 2
je 0x461587
push ebx
mov ecx, eax
call fcn.005ddc60
jmp 0x461589
push 0x7c4
call fcn.005e4720
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x16c], 1
je 0x461548
push esi
mov ecx, eax
call fcn.005ddc60
jmp 0x46154a
xor eax, eax
cmp dword [esp + 0x18], ebx
mov byte [esp + 0x16c], bl
mov esi, eax
jne 0x46159b
jmp 0x461592
push 0x79c
call fcn.005e4720
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x16c], 3
je 0x461587
mov edx, dword [esp + 0x14]
push edx
push esi
mov ecx, eax
call fcn.005ddb70
jmp 0x461589
xor eax, eax
mov byte [esp + 0x16c], bl
mov esi, eax
mov ecx, eax
push 0x16
call fcn.005e6280
lea eax, [esp + 0x28]
push eax
call fcn.00616920
fld dword [esp + 0x34]
mov eax, dword [esi + 0x14]
fld dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp eax, ebx
je 0x4615cc
mov dword [eax + 0x30], ecx
mov edx, dword [esi + 0x14]
fstp dword [edx + 0x34]
mov eax, dword [esi + 0x14]
fstp dword [eax + 0x38]
jmp 0x4615d5
fstp dword [esi + 8]
mov dword [esi + 4], ecx
fstp dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
cmp ecx, ebx
je 0x461620
mov edx, dword [ecx + 0x30]
mov eax, dword [ecx + 0x34]
push 0xbfc90fdb
mov dword [esp + 0x3c], edx
mov edx, dword [ecx + 0x38]
push ebx
push ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
call fcn.0059b120
fld dword [esp + 0x38]
mov eax, dword [esi + 0x14]
fadd dword [eax + 0x30]
fstp dword [eax + 0x30]
fld dword [esp + 0x3c]
fadd dword [eax + 0x34]
fstp dword [eax + 0x34]
fld dword [esp + 0x40]
fadd dword [eax + 0x38]
fstp dword [eax + 0x38]
jmp 0x461627
mov dword [esi + 0x10], 0xbfc90fdb
cmp dword [esp + 0x17c], 6
jne 0x4616db
push 0x50
mov byte [esi + 0x79c], 1
call fcn.0061a5a0
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
cmp edi, ebx
mov byte [esp + 0x16c], 4
je 0x4616b9
call fcn.00821b1e
and eax, 0xffff
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
mov eax, dword [0x86fcb0]
push eax
fmul dword [0x858b14]
push 1
fmul dword [0x859000]
call fcn.00821b40
mov ecx, edi
push eax
push 1
call fcn.0066f450
mov dword [edi], 0x859c80
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x30], ebx
mov byte [edi + 0x34], bl
mov byte [edi + 0x35], bl
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], ebx
mov dword [edi + 0x44], ebx
mov dword [edi + 0x48], ebx
mov byte [edi + 0x4c], bl
mov byte [edi + 0x4d], bl
jmp 0x4616bb
xor edi, edi
mov eax, dword [esi + 0x47c]
push ebx
push 3
push edi
lea ecx, [eax + 4]
mov byte [esp + 0x178], bl
call fcn.00681af0
mov edi, dword [esp + 0x174]
push 0x20
call fcn.0061a5a0
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, ebx
mov byte [esp + 0x16c], 5
je 0x461707
push 0x41000000
push ebx
push 1
push ebx
mov ecx, eax
call fcn.0062f310
jmp 0x461709
xor eax, eax
mov ecx, dword [esi + 0x47c]
push ebx
push 4
push eax
add ecx, 4
mov byte [esp + 0x178], bl
call fcn.00681af0
mov edx, dword [esi + 0x46c]
or edx, 0x1200000
mov dword [esi + 0x46c], edx
mov ecx, dword [0xb7cb84]
add ecx, 0x2710
mov dword [esi + 0x54c], ecx
cmp byte [esp + 0x13], bl
mov eax, edx
je 0x46175f
cmp dword [esp + 0x178], 2
jne 0x46175f
and eax, 0xfdffffff
jmp 0x461764
or eax, 0x2000000
mov dword [esi + 0x46c], eax
lea eax, [esi + 0x58c]
push eax
mov ecx, edi
mov dword [eax], edi
call fcn.00571b70
or dword [esi + 0x470], 0x40
mov eax, dword [esi + 0x18]
push ebx
push eax
call fcn.00732b00
mov edi, dword [esp + 0x184]
add esp, 8
cmp edi, 6
je 0x46181f
call fcn.00821b1e
and eax, 0xffff
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x858b14]
fmul dword [0x858628]
call fcn.00821b40
lea ecx, [edi - 7]
shl ecx, 4
mov edi, dword [ecx + 0xc091fc]
cmp edi, ebx
je 0x4617e3
cmp eax, 0x21
jl 0x4617f2
cmp eax, 0x42
jge 0x4617f8
mov edi, dword [ecx + 0xc091f8]
jmp 0x4617f8
mov edi, dword [ecx + 0xc091f8]
cmp edi, ebx
je 0x4617f2
cmp eax, 0x32
jge 0x4617f8
mov edi, dword [ecx + 0xc091f4]
cmp edi, ebx
je 0x46181f
push 0x61a9
push edi
mov ecx, esi
call fcn.005e89b0
push 1
push edi
call fcn.00743c60
mov edx, dword [eax + 0x14]
add esp, 8
push edx
mov ecx, esi
call fcn.005e61f0
push esi
call fcn.00563220
push 0x38
call fcn.0061a5a0
mov edi, eax
add esp, 8
mov dword [esp + 0x34], edi
cmp edi, ebx
mov byte [esp + 0x16c], 6
je 0x46185c
push 1
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0056e210
add esp, 4
push eax
mov ecx, edi
call fcn.00620e30
jmp 0x46185e
xor eax, eax
push ebx
push eax
push 3
lea ecx, [esp + 0xf8]
mov byte [esp + 0x178], bl
call fcn.004b0a00
mov esi, dword [esi + 0x47c]
push ebx
lea eax, [esp + 0xf0]
push eax
lea ecx, [esi + 0x68]
mov byte [esp + 0x174], 7
call fcn.004ab420
lea ecx, [esp + 0xec]
mov byte [esp + 0x16c], bl
call fcn.004b0a50
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x24]
movzx edx, byte [ecx + 0x4ae]
inc eax
add ebp, 0xc
cmp eax, edx
mov dword [esp + 0x24], eax
jl 0x46143b
or ebp, 0xffffffff
lea ecx, [esp + 0x11c]
mov dword [esp + 0x16c], ebp
call fcn.0059acd0
mov al, 1
mov ecx, dword [esp + 0x164]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x160
ret