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

Disassembly:
sub esp, 0x78
mov eax, dword [0x43ec80]
push ebx
mov dword [esp + 0x38], eax
mov eax, dword [0x257c2ac]
push ebp
push esi
lea eax, [eax + eax*4]
push edi
xor edi, edi
mov dword [0x2548b58], 0xbf800000
lea ecx, [eax + eax*4]
mov eax, 0x10624dd3
shl ecx, 1
imul ecx
mov eax, dword [0x257c2b4]
mov dword [esp + 0x4c], edi
sar edx, 6
mov ecx, edx
lea eax, [eax + eax*4]
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [0x257c2b8]
lea eax, [eax + eax*4]
add ecx, edx
mov dword [0x257c2b8], ecx
mov dword [esp + 0x20], 0x437f0000
lea edx, [eax + eax*4]
lea eax, [edx*8 - 0x186a0]
mov dword [esp + 0x48], eax
fild qword [esp + 0x48]
fmul dword [0x257c280]
fiadd dword [0x257c2b8]
call fcn.00430d2c
mov dword [0x257c2b8], eax
mov eax, dword [0x257c2a8]
mov dword [esp + 0x4c], edi
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 3
mov dword [esp + 0x48], ecx
fild qword [esp + 0x48]
fmul dword [0x257c280]
fiadd dword [0x257c2b8]
call fcn.00430d2c
fld dword [0x257c280]
fmul dword [0x43a500]
mov dword [0x257c2b8], eax
fiadd dword [0x257c2b8]
call fcn.00430d2c
fld dword [0x257c2e0]
fsub dword [0x43a274]
mov edx, dword [0x257c2e4]
mov dword [0x257c2b8], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x34], edi
mov dword [0x257c30c], edi
fst dword [esp + 0x2c]
fld dword [0x257c2e8]
fsub dword [0x43a274]
mov dword [0x257c350], edi
mov dword [esp + 0x24], 0xbdf5c28f
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
mov dword [esp + 0x10], edi
mov dword [esp + 0x30], 0x37a7c5ac
faddp st(1)
fsqrt
fst dword [esp + 0x28]
fstp st(2)
fstp st(0)
fcomp dword [0x43a350]
fnstsw ax
test ah, 1
je 0x41b420
mov dword [esp + 0x28], 0x38d1b717
fld dword [esp + 0x2c]
fdiv dword [esp + 0x28]
call fcn.00430e20
fstp dword [esp + 0x14]
fld dword [0x257c2e8]
fcomp dword [0x43a274]
fnstsw ax
test ah, 1
je 0x41b44e
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
push 0x17
call fcn.0040aea0
push 0x3a83126f
call fcn.0040b2b0
push 0x3a03126f
push 7
call fcn.0040b290
mov eax, dword [0x257c2e8]
mov ecx, dword [0x257c2e4]
mov edx, dword [0x257c2e0]
push 0x3f800000
push eax
push ecx
push edx
push 7
call fcn.0040af40
add esp, 0x24
mov dword [0x257dd80], eax
call fcn.0043092f
and eax, 7
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fstp dword [esp + 0x2c]
call fcn.00419530
mov ebx, dword [0x257c314]
mov dword [esp + 0x54], edi
mov ebp, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], ebp
fild qword [esp + 0x50]
fst dword [esp + 0x1c]
fmul dword [esp + 0x30]
fadd dword [esp + 0x24]
fst dword [esp + 0x24]
fcomp dword [0x43a4fc]
fnstsw ax
test ah, 0x41
jne 0x41b4e9
mov dword [esp + 0x24], 0xbcf5c28f
fld dword [esp + 0x1c]
fmul dword [0x43a490]
fadd dword [esp + 0x18]
fst dword [esp + 0x18]
fcomp dword [0x43a2f8]
fnstsw ax
test ah, 0x41
jne 0x41b5ec
mov esi, dword [esp + 0x34]
mov dword [esp + 0x18], 0x3dcccccd
add esi, ebp
cmp esi, 0x1b58
mov dword [esp + 0x34], esi
jle 0x41b573
cmp dword [esp + 0x38], edi
jne 0x41b54d
mov eax, dword [0x257dd80]
push eax
call fcn.0040aff0
add esp, 4
mov dword [0x257dd80], edi
call fcn.00409430
mov dword [esp + 0x38], 1
cmp dword [0x44acf8], edi
je 0x41b55a
call fcn.00408d20
call fcn.00409460
test eax, eax
je 0x41b573
mov dword [esp + 0x3c], 0x3dcccccd
mov dword [esp + 0x30], 0xb7fba882
cmp esi, 0x15f90
jle 0x41b58b
mov dword [esp + 0x3c], 0x3dcccccd
mov dword [esp + 0x30], 0xb7fba882
mov esi, 0x2548a88
cmp dword [esi], 0x3e8
jle 0x41b5a9
call fcn.0043092f
and eax, 0x3f
lea ecx, [eax*8 + 0x190]
mov dword [esi], ecx
fld dword [esi + 0x10]
fcomp dword [0x43a330]
fnstsw ax
test ah, 1
je 0x41b5dc
fld dword [esp + 0x20]
fcomp dword [0x43a4f8]
fnstsw ax
test ah, 0x41
jne 0x41b5d3
push edi
call fcn.004180d0
add esp, 4
push edi
call fcn.00417850
add esp, 4
add esi, 0x18
inc edi
cmp esi, 0x2548b18
jb 0x41b590
xor edi, edi
jmp 0x41b5f5
push ebx
call fcn.00418680
add esp, 4
fld dword [esp + 0x20]
fcom dword [0x43a4f4]
fnstsw ax
test ah, 0x41
jne 0x41b612
fld dword [esp + 0x1c]
fmul dword [0x43a334]
fsubp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0x3c]
fsubr st(1)
fstp dword [esp + 0x20]
fstp st(0)
fld dword [esp + 0x20]
fcomp dword [0x43a264]
fnstsw ax
test ah, 1
jne 0x41bd8a
fld dword [esp + 0x20]
fmul dword [esp + 0x44]
mov edx, dword [esp + 0x18]
mov dword [0x257c2e4], edx
fmul dword [0x43a4f0]
fstp dword [0x43ec80]
fld dword [esp + 0x18]
fcomp dword [0x43a2f4]
fnstsw ax
test ah, 0x41
jne 0x41b670
mov dword [0x257c2e4], 0x3d23d70a
fld dword [esp + 0x1c]
fmul dword [0x43a4ec]
fsubr dword [esp + 0x14]
fst dword [esp + 0x14]
fcomp dword [0x43a264]
fnstsw ax
test ah, 1
je 0x41b69d
fld dword [esp + 0x14]
fadd dword [0x43a270]
fstp dword [esp + 0x14]
fld dword [0x257c2e0]
fsub dword [0x43a274]
fmul dword [0x43a4e8]
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x41b6dd
fld dword [esp + 0x1c]
fmul dword [0x43a330]
fadd dword [esp + 0x10]
fst dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x41b70b
fstp dword [esp + 0x10]
jmp 0x41b70d
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x41b70b
fld dword [esp + 0x1c]
fmul dword [0x43a330]
fsubr dword [esp + 0x10]
fst dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x41b70b
fstp dword [esp + 0x10]
jmp 0x41b70d
fstp st(0)
fld dword [esp + 0x10]
call fcn.00430d2c
fld dword [esp + 0x14]
fcos
mov ecx, dword [0x257c2e4]
mov dword [0x257c308], eax
mov dword [0x257c330], 0x3b727bb3
fmul dword [esp + 0x28]
fadd dword [0x43a274]
fstp dword [0x257c2e0]
fld dword [esp + 0x14]
fsin
mov edx, dword [0x257c2e0]
fmul dword [esp + 0x28]
fadd dword [0x43a274]
fstp dword [0x257c2e8]
fld dword [0x257c2e0]
fsub dword [0x43a3ec]
mov eax, dword [0x257c2e8]
push eax
mov eax, dword [0x257dd80]
fmul dword [0x43a274]
push ecx
push edx
push eax
fadd dword [0x43a3f8]
fstp dword [0x257c2f0]
fld dword [0x257c2e8]
fsub dword [0x43a3ec]
fmul dword [0x43a274]
fadd dword [0x43a4b8]
fld dword [esp + 0x28]
fsub dword [0x43a478]
fsubp st(1)
fstp dword [0x257c2f8]
fld dword [esp + 0x28]
fsub dword [0x43a498]
fmul dword [0x43a274]
fadd dword [0x43a4d4]
fstp dword [0x257c2f4]
call fcn.0040afc0
fld dword [0x257c2e0]
fsub dword [0x43a274]
add esp, 0xc
fmul dword [0x43a360]
fld dword [0x43a4a8]
fsub st(1)
fstp dword [esp]
push ecx
fadd dword [0x43a4a8]
fstp dword [esp]
call fcn.0040b2d0
push ebx
call fcn.004161a0
push ebp
call fcn.004169e0
push ebx
call fcn.00417a40
push ebx
call fcn.0041fd80
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
fild qword [esp + 0x70]
add esp, 0x18
fst dword [esp + 0x40]
fmul dword [0x43a2f4]
fst dword [0x257c320]
fst dword [0x257c31c]
fcomp dword [0x43a26c]
fnstsw ax
test ah, 0x41
jne 0x41b857
mov dword [0x257c31c], 0x3fc90fdb
mov ecx, dword [0x257c31c]
push ecx
call fcn.00420be0
fld dword [esp + 0x44]
fmul dword [0x43a498]
add esp, 4
fadd dword [0x257c32c]
fst dword [0x257c32c]
fcomp dword [0x43a270]
fnstsw ax
test ah, 0x41
jne 0x41b89b
fld dword [0x257c32c]
fsub dword [0x43a270]
fstp dword [0x257c32c]
mov edx, dword [0x257c308]
mov eax, dword [0x257c380]
mov ecx, dword [0x257c304]
add eax, edx
fld dword [0x257c36c]
mov edx, dword [0x257c300]
push eax
fadd dword [0x257c2f8]
push ecx
push edx
push ecx
mov eax, dword [0x257c2f0]
fstp dword [esp]
fld dword [0x257c36c]
fmul dword [0x43a4ac]
push ecx
fsubr dword [0x257c2f4]
fstp dword [esp]
push eax
call fcn.0040c290
fld dword [0x257c36c]
fadd dword [0x257c2f8]
add esp, 0x14
fstp dword [esp]
fld dword [0x257c36c]
fmul dword [0x43a4ac]
push ecx
mov ecx, dword [0x257c2f0]
fsubr dword [0x257c2f4]
fstp dword [esp]
push ecx
call fcn.0040a610
add esp, 0xc
call fcn.00406080
test eax, eax
je 0x41b4a7
mov eax, dword [esp + 0x20]
push eax
push eax
push eax
call fcn.0040c1d0
fld dword [0x257c36c]
fadd dword [0x257c2f8]
add esp, 0xc
lea edx, [ebx + ebx]
mov eax, dword [0x257c2f0]
push edx
push ecx
fstp dword [esp]
fld dword [0x257c36c]
fmul dword [0x43a4ac]
push ecx
fsubr dword [0x257c2f4]
fstp dword [esp]
push eax
call fcn.00420210
push 4
call fcn.004059f0
fld dword [esp + 0x30]
fmul dword [0x43a3ac]
push edi
push 0xfffffe00
push edi
push edi
fadd dword [esp + 0x50]
push edi
push edi
fst dword [esp + 0x58]
fcos
fmul dword [0x43a4e4]
fstp dword [esp + 0x48]
fld dword [esp + 0x58]
fmul dword [0x43a4d0]
fsin
fmul dword [0x43a4c8]
fstp dword [esp + 0x6c]
call fcn.0040c290
lea ecx, [esp + 0x8c]
push ecx
call fcn.004012b0
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x90]
push edx
push eax
call fcn.0040e600
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x98]
push ecx
push edx
call fcn.0040e6e0
mov ecx, dword [0x257de4c]
add esp, 0x40
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.00401610
lea edx, [esp + 0x68]
push edx
call fcn.004012b0
fld dword [esp + 0x4c]
add esp, 8
lea eax, [esp + 0x64]
fchs
fstp dword [esp]
push eax
call fcn.0040e600
fld dword [esp + 0x24]
add esp, 4
lea ecx, [esp + 0x64]
fchs
fstp dword [esp]
push ecx
call fcn.0040e6e0
mov eax, dword [0x257de38]
lea edx, [esp + 0x68]
push edx
push eax
call fcn.00401610
mov esi, dword [esp + 0x34]
mov ecx, dword [0x257de74]
push edi
push esi
push edi
push ecx
call fcn.0040c390
mov edx, dword [0x257de60]
push 0xbc03126f
push esi
push edi
push edx
call fcn.0040c390
mov eax, dword [0x257c308]
mov ecx, dword [0x257c380]
mov edx, dword [0x257c304]
add esp, 0x30
fld dword [0x257c36c]
fadd dword [0x257c2f8]
add ecx, eax
mov eax, dword [0x257c300]
push ecx
push edx
push eax
push ecx
fstp dword [esp]
fld dword [0x257c36c]
fmul dword [0x43a4ac]
push ecx
mov ecx, dword [0x257c2f0]
fsubr dword [0x257c2f4]
fstp dword [esp]
push ecx
call fcn.0040c290
push 3
call fcn.004059f0
push 1
call fcn.00405a20
mov edx, dword [0x257c330]
mov eax, dword [0x257c32c]
mov ecx, dword [0x257c2e8]
push edx
mov edx, dword [0x257c2e4]
push eax
mov eax, dword [0x257c2e0]
push ecx
push edx
push eax
call fcn.00420a10
push ebx
call fcn.00415910
add esp, 0x38
mov edi, 0x2581e78
mov esi, 0x2548a98
cmp dword [esi], 0x3dd70a3d
je 0x41bb29
fld dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi - 4]
fadd dword [0x43a3e8]
mov eax, dword [edi]
push ecx
push ecx
fstp dword [esp]
push edx
push eax
call fcn.0040c390
add esp, 0x10
add esi, 0x18
add edi, 4
cmp esi, 0x2548b28
jb 0x41bb02
mov eax, dword [0x2548b70]
xor edi, edi
test eax, eax
jbe 0x41bb76
mov esi, 0x254c190
fld dword [esi]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
fadd dword [0x43a498]
mov eax, dword [0x257de50]
push ecx
push ecx
fstp dword [esp]
push edx
push eax
call fcn.0040c390
mov eax, dword [0x2548b70]
add esp, 0x10
inc edi
add esi, 0x1c
cmp edi, eax
jb 0x41bb47
mov eax, dword [0x254c260]
mov dword [esp + 0x40], 0
test eax, eax
jbe 0x41bc19
mov ebx, 0x257cc90
mov ecx, 0xa
mov esi, ebx
lea edi, [esp + 0x60]
mov ebp, dword [ebx - 0x18]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx - 0x14]
lea edx, [esp + 0x60]
neg ecx
push ecx
push edx
call fcn.00401380
mov eax, dword [ebx - 0x10]
lea ecx, [esp + 0x68]
push eax
push ecx
call fcn.00401400
mov edx, dword [ebx - 0x14]
lea eax, [esp + 0x70]
push edx
push eax
call fcn.00401380
mov edx, dword [ebp*4 + 0x257de0c]
lea ecx, [esp + 0x78]
push ecx
push edx
call fcn.00401610
mov eax, dword [ebx - 4]
mov ecx, dword [ebx - 8]
mov edx, dword [ebp*4 + 0x2581fd8]
push eax
push 0x3ba3d70a
push ecx
push edx
call fcn.0040c390
mov eax, dword [esp + 0x70]
mov ecx, dword [0x254c260]
add esp, 0x30
inc eax
add ebx, 0x50
cmp eax, ecx
mov dword [esp + 0x40], eax
jb 0x41bb90
mov ebx, dword [esp + 0x48]
mov eax, dword [0x44f2bc]
test eax, eax
je 0x41bcfa
push 1
call fcn.00405a60
mov eax, dword [0x257c2f8]
mov ecx, dword [0x257c2f4]
mov edx, dword [0x257c2f0]
push eax
push ecx
push edx
call fcn.004055c0
mov eax, dword [0x254c260]
add esp, 0x10
xor edi, edi
test eax, eax
jbe 0x41bc7f
mov esi, 0x257cc88
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push 0x3bb43958
push eax
push 0x3ba3d70a
push ecx
call fcn.004055e0
mov eax, dword [0x254c260]
add esp, 0x10
inc edi
add esi, 0x50
cmp edi, eax
jb 0x41bc59
mov eax, dword [0x2548b70]
xor edi, edi
test eax, eax
jbe 0x41bcbd
mov esi, 0x254c190
fld dword [esi]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
fadd dword [0x43a498]
push 0x3b656042
push edx
push ecx
fstp dword [esp]
push eax
call fcn.004055e0
mov eax, dword [0x2548b70]
add esp, 0x10
inc edi
add esi, 0x1c
cmp edi, eax
jb 0x41bc8f
mov ecx, dword [0x257c330]
mov edx, dword [0x257c32c]
mov eax, dword [0x257c2e8]
push ecx
mov ecx, dword [0x257c2e4]
push edx
mov edx, dword [0x257c2e0]
push eax
push ecx
push edx
call fcn.00420b10
push 6
call fcn.004059f0
call fcn.0040e9a0
push 0
call fcn.00405a60
add esp, 0x1c
push 3
call fcn.004059f0
mov eax, dword [esp + 0x38]
add esp, 4
cmp eax, 0x7d0
jle 0x41bd18
push ebx
call fcn.00417790
add esp, 4
push ebx
call fcn.004181a0
push ebx
call fcn.00415520
push ebx
call fcn.00414fc0
push 0
call fcn.004059f0
mov eax, dword [0x254c260]
add esp, 0x10
xor edi, edi
test eax, eax
jbe 0x41bd7e
mov esi, 0x257cc88
fld dword [0x53c0e0]
fmul dword [0x43a310]
push ecx
fadd dword [esi + 4]
fstp dword [esp]
fld dword [0x53c0d8]
fmul dword [0x43a310]
push ecx
fadd dword [esi]
fstp dword [esp]
call fcn.00422cf0
mov eax, dword [0x254c260]
add esp, 8
inc edi
add esi, 0x50
cmp edi, eax
jb 0x41bd44
call fcn.00406110
xor edi, edi
jmp 0x41b4a7
call fcn.00416920
mov dword [0x257c350], edi
mov dword [0x257c2f4], 0x3dd2f1aa
mov esi, 0x4409bc
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x41bdba
push eax
call fcn.0040aff0
add esp, 4
mov dword [esi], 0xffffffff
add esi, 4
cmp esi, 0x4409d4
jb 0x41bda4
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebp
mov dword [0x43ec80], eax
pop ebx
add esp, 0x78
ret