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

Disassembly:
push esi
push ebp
push ebx
mov edx, dword [esp + 0x14]
sub esp, 0x328
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
mov eax, dword [edx + 0x18]
cmp eax, 2
je 0x4bacad
mov esi, dword [esp + 0x338]
cmp eax, 1
je 0x4baba0
cmp eax, 3
je 0x4baa30
cmp eax, 4
je 0x4ba940
cmp eax, 5
je 0x4ba7f3
mov dword [esp + 0x318], 0x11d
mov dword [esp], 0
call fcn.00464470
mov dword [esp + 0x31c], eax
lea eax, [esp + 0x318]
mov dword [esp], eax
call fcn.00464480
add esp, 0x328
xor eax, eax
pop ebx
pop ebp
pop esi
ret
mov edx, dword [edx]
mov dword [esp + 0x320], edx
mov dword [esp], edx
call fcn.00488170
mov edx, dword [eax]
lea ecx, [esp + 0x2d4]
mov dword [esp + 0x2d4], edx
mov ebx, dword [eax + 4]
fld dword [0x5295c4]
mov dword [esp + 0x2d8], ebx
mov ebp, dword [eax + 8]
mov dword [esp + 0x2dc], ebp
fdiv dword [eax + 0xc]
fld dword [eax + 0xc]
fld dword [eax + 0xc]
fld dword [eax + 0xc]
fld dword [eax + 0xc]
fld dword [eax + 0xc]
fld dword [eax + 0xc]
fxch st(5)
mov eax, dword [eax + 0xc]
mov dword [esp + 0x2f8], edx
mov dword [esp + 0x2fc], ebx
mov dword [esp + 0x2ec], edx
fsubr dword [esp + 0x2f8]
mov dword [esp + 0x300], ebp
mov dword [esp + 0x2f4], ebp
fstp dword [esp + 0x2f8]
fxch st(5)
fstp dword [esp + 0x2e8]
fadd dword [esp + 0x2ec]
fxch st(2)
fsubr dword [esp + 0x2fc]
fxch st(2)
fstp dword [esp + 0x2ec]
fsubr dword [esp + 0x300]
fxch st(1)
fstp dword [esp + 0x2fc]
fstp dword [esp + 0x300]
fadd dword [esp + 0x2f4]
mov dword [esp + 0x2f0], ebx
mov dword [esp + 0x2e0], eax
fstp dword [esp + 0x2f4]
fadd dword [esp + 0x2f0]
mov dword [esp + 0x2e4], ecx
lea eax, [esp + 0x2e4]
fstp dword [esp + 0x2f0]
mov dword [esp + 0x308], 0x4ba330
lea edx, [esp + 0x18]
mov dword [esp + 0x30c], 0x4b9c10
mov dword [esp + 0x310], eax
mov dword [esp + 4], fcn.004ba700
lea eax, [esp + 0x2ec]
mov dword [esp + 0x314], edx
mov edx, dword [esp + 0x320]
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.0048b310
add esp, 0x328
mov eax, esi
pop ebx
pop ebp
pop esi
ret
mov eax, dword [edx]
lea ecx, [esp + 0x18]
mov dword [esp + 0x1a8], eax
mov eax, dword [edx + 4]
xor ebx, ebx
mov dword [esp + 0x1ac], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x1b0], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x1b4], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x1b8], eax
mov edx, dword [edx + 0x14]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c8], 0x4b9a30
mov dword [esp + 0x1c4], 0x4ba4b0
mov edx, dword [esi + 0x1c]
mov eax, dword [edx]
test eax, eax
jl 0x4ba9f0
mov ecx, dword [edx]
lea eax, [esp + 0x1b4]
fld dword [edx + 0x10]
mov ebp, edx
mov dword [esp + 0x324], edi
mov edi, eax
fcomp dword [ecx + edi]
fnstsw ax
sahf
mov edi, dword [esp + 0x324]
jbe 0x4baa21
lea eax, [esp + 0x1a8]
mov edx, dword [edx + 8]
fld dword [ecx + eax]
fcomp dword [ebp + 0x14]
fnstsw ax
sahf
jb 0x4ba9a1
inc ebx
mov ebp, dword [ebp + 0xc]
mov dword [esp + ebx*4 + 0x1d4], ebp
jmp 0x4baa11
lea eax, [esp + 0x1a8]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004ba700
test eax, eax
je 0x4baa15
mov eax, ebx
dec ebx
mov edx, dword [esp + eax*4 + 0x1d4]
test ebx, ebx
jge 0x4ba9a1
add esp, 0x328
mov eax, esi
pop ebx
pop ebp
pop esi
ret
mov edx, dword [edx + 0xc]
jmp 0x4ba9a1
mov eax, dword [edx]
lea ecx, [esp + 0x18]
mov dword [esp + 0x74], eax
mov ebx, dword [edx + 4]
fld dword [esp + 0x74]
mov dword [esp + 0x78], ebx
mov ebp, dword [edx + 8]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], ebp
fld dword [edx + 0xc]
fsubr dword [esp + 0x80]
fld dword [esp + 0x84]
fxch st(1)
fstp dword [esp + 0x80]
fsub dword [edx + 0xc]
fld dword [esp + 0x88]
fxch st(1)
fstp dword [esp + 0x84]
fsub dword [edx + 0xc]
fld dword [esp + 0x78]
fxch st(1)
fstp dword [esp + 0x88]
fld dword [esp + 0x7c]
fxch st(2)
fadd dword [edx + 0xc]
fld dword [0x5295bc]
fxch st(1)
fstp dword [esp + 0x74]
lea eax, [esp + 0xa0]
xor ebx, ebx
fxch st(1)
fadd dword [edx + 0xc]
fstp dword [esp + 0x78]
fxch st(1)
fadd dword [edx + 0xc]
mov dword [esp + 0xa0], edx
fstp dword [esp + 0x7c]
fdiv dword [edx + 0xc]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], 0x4b9c10
mov dword [esp + 0x90], 0x4ba330
fstp dword [esp + 0xa4]
mov edx, dword [esi + 0x1c]
lea esi, [esi]
lea edi, [edi]
mov eax, dword [edx]
test eax, eax
jl 0x4bab60
mov ecx, dword [edx]
lea eax, [esp + 0x80]
fld dword [edx + 0x10]
mov ebp, edx
mov dword [esp + 0x324], edi
mov edi, eax
fcomp dword [ecx + edi]
fnstsw ax
sahf
mov edi, dword [esp + 0x324]
jbe 0x4bab8e
lea eax, [esp + 0x74]
mov edx, dword [edx + 8]
fld dword [ecx + eax]
fcomp dword [ebp + 0x14]
fnstsw ax
sahf
jb 0x4bab10
inc ebx
mov ebp, dword [ebp + 0xc]
mov dword [esp + ebx*4 + 0xa8], ebp
jmp 0x4bab7e
lea eax, [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004ba700
test eax, eax
je 0x4bab82
mov eax, ebx
dec ebx
mov edx, dword [esp + eax*4 + 0xa8]
test ebx, ebx
jge 0x4bab10
add esp, 0x328
mov eax, esi
pop ebx
pop ebp
pop esi
ret
mov edx, dword [edx + 0xc]
jmp 0x4bab10
mov dword [esp + 0x60], edx
lea eax, [esp + 0x18]
fld dword [edx + 0xc]
fsub dword [edx]
fld dword [0x529588]
fxch st(1)
fstp dword [esp + 0x64]
fld dword [edx + 0x10]
fsub dword [edx + 4]
fld dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fld dword [edx + 0x14]
fsub dword [edx + 8]
mov dword [esp + 0x70], eax
fstp dword [esp + 0x6c]
fxch st(1)
fcomp dword [esp + 0x64]
fnstsw ax
sahf
je 0x4baca0
fdivr dword [0x529590]
fld dword [esp + 0x68]
fld dword [0x529594]
fcomp st(1)
fnstsw ax
fld dword [esp + 0x68]
fmul st(2)
sahf
fstp dword [esp + 0x2c]
fxch st(1)
fmul dword [esp + 0x6c]
fstp dword [esp + 0x30]
je 0x4bac93
fdivr dword [0x52959c]
fld dword [esp + 0x6c]
fld dword [0x5295a0]
fcomp st(1)
fnstsw ax
fld dword [esp + 0x64]
fmul st(2)
sahf
fstp dword [esp + 0x34]
fxch st(1)
fmul dword [esp + 0x6c]
fstp dword [esp + 0x38]
je 0x4bac89
fdivr dword [0x5295a8]
fld dword [esp + 0x64]
fmul st(1)
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x44]
fstp dword [esp + 0x3c]
fmul dword [esp + 0x68]
lea ebx, [esp + 0x2c]
mov dword [esp + 0x10], eax
fstp dword [esp + 0x40]
mov dword [esp + 0xc], 0x4ba6a0
mov dword [esp + 0x14], ecx
mov ecx, ebx
mov eax, esi
call fcn.004b8650
add esp, 0x328
mov eax, esi
pop ebx
pop ebp
pop esi
ret
fstp st(0)
fld dword [0x5295ac]
jmp 0x4bac46
fstp st(0)
fld dword [0x5295b0]
jmp 0x4bac1b
fstp st(0)
fld dword [0x5295b4]
jmp 0x4babec
mov dword [esp + 0x24], 0x11d
mov dword [esp], 0
call fcn.00464470
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
mov dword [esp], eax
call fcn.00464480
add esp, 0x328
xor eax, eax
pop ebx
pop ebp
pop esi
ret