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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x128
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x3c]
test edi, edi
mov dword [esp + 0x58], esi
jne 0x4288dd
mov eax, dword [esi + 4]
fld dword [eax + 0x3c]
add eax, 0x30
fsub dword [eax]
fabs
fstp dword [esi + 0x18]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 4]
inc edi
test eax, eax
mov dword [esi + 0x3c], edi
mov ecx, dword [edx + 0x2c]
jl 0x4289b1
mov ebx, dword [esi + 0xc]
cmp edi, ebx
jg 0x428939
test ecx, ecx
je 0x428e45
mov eax, edi
shl eax, 8
sub eax, edi
cdq
idiv ebx
test eax, eax
jge 0x42891f
xor eax, eax
push eax
call fcn.004825c0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xff
jle 0x42892b
mov eax, 0xff
push eax
call fcn.004825c0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea ebp, [ebx + eax]
cmp edi, ebp
jle 0x4289a3
mov esi, dword [esi + 0x14]
lea ebp, [esi + ebx]
add ebp, eax
cmp edi, ebp
jle 0x42895b
mov ecx, edx
call fcn.0045bed0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x428e45
mov edx, esi
sub edx, edi
add edx, ebx
add edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv esi
test eax, eax
jge 0x428989
xor eax, eax
push eax
call fcn.004825c0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xff
jle 0x428995
mov eax, 0xff
push eax
call fcn.004825c0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x4289b1
push 0xff
call fcn.004825c0
mov ecx, dword [0x553368]
test ecx, ecx
jne 0x4289db
push 0x34
call fcn.004fc0e2
add esp, 4
test eax, eax
je 0x4289d2
mov ecx, eax
call fcn.00475750
jmp 0x4289d4
xor eax, eax
mov dword [0x553368], eax
mov ecx, eax
call fcn.004760a0
mov ebx, eax
mov edi, dword [ebx + 4]
cmp edi, dword [ebx + 8]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x3c], edi
je 0x428e45
mov eax, dword [edi + 0x24]
mov edx, dword [esi + 4]
cmp eax, edx
je 0x428a0d
cmp dword [edi + 0x28], edx
jne 0x428d1a
cmp eax, edx
jne 0x428a16
mov ebp, dword [edi + 0x28]
mov dword [esp + 0x18], ebp
jmp 0x428a1c
mov dword [esp + 0x18], eax
mov ebp, eax
mov eax, dword [ebp + 0xc]
test eax, eax
mov ecx, ebp
je 0x428a2e
mov ecx, eax
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x428a25
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx + 0x18]
je 0x428d1a
mov ecx, ebp
call fcn.0045c830
test al, al
je 0x428d1a
lea eax, [ebp + 0x48]
push 0x40000000
lea ecx, [eax + 0xc]
push ecx
push eax
lea edx, [esp + 0x138]
push edx
call fcn.00428ea0
add esp, 0xc
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00428f00
mov ebx, dword [esi + 4]
add esp, 0xc
xor eax, eax
mov ecx, 0x10
lea edi, [esp + 0xac]
push 3
add ebx, 0x160
rep stosd dword es:[edi], eax
push 3
mov ecx, ebx
call fcn.00401680
fcom dword [0x515374]
fnstsw ax
test ah, 0x40
je 0x428afb
mov ecx, dword [ebx + 4]
fstp st(0)
mov edx, dword [ebx + 8]
fld dword [ebx]
mov eax, dword [ebx + 0x14]
fld dword [ebx + 0x10]
fld dword [ebx + 0x20]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebx + 0x18]
fld dword [ebx + 0x30]
mov dword [esp + 0x68], edx
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x84], edx
mov edx, dword [ebx + 0x38]
mov dword [esp + 0x88], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
jmp 0x428c10
fld dword [0x515370]
lea eax, [esp + 0xac]
fdiv st(1)
xor ebp, ebp
mov dword [esp + 0x30], eax
fstp dword [esp + 0x14]
fstp st(0)
mov edi, dword [esp + 0x30]
xor esi, esi
push ebp
push esi
mov ecx, ebx
call fcn.004017c0
fmul dword [esp + 0x14]
inc esi
add edi, 4
cmp esi, 3
fstp dword [edi - 4]
jl 0x428b1c
mov ecx, dword [esp + 0x30]
inc ebp
add ecx, 0x10
cmp ebp, 3
mov dword [esp + 0x30], ecx
jl 0x428b16
push 3
push 0
mov ecx, ebx
call fcn.00401680
fmul dword [esp + 0x14]
push 3
push 1
mov ecx, ebx
fstp dword [esp + 0xe4]
call fcn.00401680
fmul dword [esp + 0x14]
push 3
push 2
mov ecx, ebx
fstp dword [esp + 0xe8]
call fcn.00401680
fmul dword [esp + 0x14]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xc0]
fstp dword [esp + 0xe4]
fld dword [esp + 0xac]
mov esi, dword [esp + 0x58]
fld dword [esp + 0xbc]
mov ebp, dword [esp + 0x18]
fld dword [esp + 0xcc]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0xc4]
fld dword [esp + 0xdc]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
fld dword [esp + 0x2c]
lea eax, [ebp + 0x30]
fmul st(2)
push eax
fld dword [esp + 0x2c]
add eax, 0xc
fmul st(4)
push eax
lea eax, [esp + 0xa8]
push eax
faddp st(1)
fld dword [esp + 0x30]
fmul st(5)
faddp st(1)
fadd st(1)
fstp dword [esp + 0x58]
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x38]
fmul dword [esp + 0x90]
fld dword [esp + 0x34]
fmul dword [esp + 0x80]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0x30]
faddp st(1)
fadd dword [esp + 0xa0]
fstp dword [esp + 0x5c]
fld dword [esp + 0x38]
fmul dword [esp + 0x94]
fld dword [esp + 0x34]
fmul dword [esp + 0x84]
faddp st(1)
fld dword [esp + 0x74]
fmul dword [esp + 0x30]
faddp st(1)
fadd dword [esp + 0xa4]
fstp dword [esp + 0x60]
call fcn.00428ed0
fld dword [esp + 0xb4]
fabs
add esp, 0xc
fld dword [esp + 0xa4]
fabs
fst qword [esp + 0x30]
fld dword [esp + 0xa0]
fabs
fst qword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x428ce9
fstp st(0)
fld qword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x428cf8
fstp st(0)
fld qword [esp + 0x18]
jmp 0x428cf8
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x428cf8
fstp st(0)
fld qword [esp + 0x30]
fld dword [esp + 0x4c]
fabs
fxch st(1)
fadd dword [esi + 0x18]
fmul dword [0x515890]
fcompp
fnstsw ax
test ah, 1
je 0x428d34
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x5c]
mov eax, dword [ebx + 8]
add edi, 0x2c
cmp edi, eax
mov dword [esp + 0x3c], edi
jne 0x4289f6
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x6c]
mov eax, dword [esi + 8]
push edx
push eax
mov ecx, ebp
call fcn.0045c440
fld dword [esp + 0x50]
mov ecx, dword [esi + 4]
add ecx, 0x160
fstp dword [esp + 0x44]
fld dword [esp + 0x54]
push ecx
fstp dword [esp + 0x4c]
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], 0
call fcn.00435a10
mov edx, dword [esp + 0x40]
xor eax, eax
mov ecx, 0x10
lea edi, [esp + 0xec]
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0xec]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x44]
mov edi, dword [esi + 0x20]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x120], eax
cmp edi, dword [esi + 0x24]
mov dword [esp + 0x128], 0x3f800000
mov dword [esp + 0x114], 0x3f800000
mov dword [esp + 0x100], 0x3f800000
mov dword [esp + 0xec], 0x3f800000
mov dword [esp + 0x11c], edx
mov dword [esp + 0x124], ecx
je 0x428e0f
push 0
sub esp, 0x40
lea edx, [esp + 0x130]
mov ecx, esp
push edx
call fcn.00424a60
push edi
call fcn.00428e50
mov ecx, eax
call fcn.00469d30
mov eax, dword [esi + 0x24]
add edi, 0x10
cmp edi, eax
jne 0x428de4
mov ecx, dword [0x553180]
test ecx, ecx
jne 0x428e3c
push 0x88
call fcn.004fc0e2
add esp, 4
test eax, eax
je 0x428e33
mov ecx, eax
call fcn.00451d20
jmp 0x428e35
xor eax, eax
mov dword [0x553180], eax
mov ecx, eax
add esi, 0x2c
push esi
call fcn.00452920
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret