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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esi + 0x4550]
mov eax, dword [esi + 0x4438]
mov edx, dword [esi + 0x4354]
push edi
push 0
push ecx
mov dword [esp + 0x28], eax
push edx
lea eax, [esi + 0x34e0]
push eax
mov ecx, 0x5ea2c0
mov byte [esp + 0x23], 0
mov dword [esp + 0x2c], 0
call fcn.00403aa0
mov ebx, eax
mov eax, dword [esi + 0x454c]
test eax, eax
je 0x42597f
mov ecx, dword [ebx + 0x114]
test ecx, ecx
je 0x42597f
cmp eax, dword [ecx + 0x12c]
je 0x425985
mov ecx, dword [ebx + 0x110]
test eax, eax
je 0x42599b
mov edi, dword [ecx + 0x114]
test edi, edi
je 0x42599b
cmp eax, dword [edi + 0x12c]
je 0x4259a1
mov edi, dword [ecx + 0x110]
mov eax, dword [esi + 0x443c]
test eax, eax
je 0x425b1c
mov eax, dword [esi + 0x4400]
test eax, eax
je 0x425b1c
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x28]
lea ebp, [esi + 0xc]
push edx
mov ecx, ebp
call fcn.004efb20
fld dword [esp + 0x24]
mov eax, dword [esi + 0x4400]
fsub dword [eax]
mov ecx, dword [esi + 0x4440]
fld dword [esp + 0x2c]
push 0x3f400000
fsub dword [eax + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0x1c]
fstp st(0)
fstp st(0)
fld dword [esp + 0x1c]
fmul dword [0x59e8c8]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
push ecx
mov ecx, ebp
call fcn.004e8b80
fcomp dword [0x59e440]
fnstsw ax
test ah, 0x41
jne 0x425a3f
mov edx, dword [esp + 0x18]
mov dword [esi + 0x443c], 0
mov dword [esi + 0x4524], edx
fld dword [esi + 0x4424]
fcomp dword [0x59e440]
fnstsw ax
test ah, 0x44
jp 0x425b1c
mov ecx, dword [esi + 0x4400]
mov eax, dword [ecx + 0x114]
test eax, eax
je 0x425b1c
fld dword [esp + 0x24]
fsub dword [eax + 0x94]
fld dword [esp + 0x2c]
fsub dword [eax + 0x9c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0x14]
fstp st(0)
fstp st(0)
fld dword [ecx + 0x18]
fld st(0)
fmulp st(1)
fsqrt
fadd dword [0x59e8c4]
fcom dword [0x59e8c0]
fnstsw ax
test ah, 0x41
jne 0x425ab6
fstp st(0)
fld dword [0x59e8c0]
fld dword [0x59e854]
fmul st(1)
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x425aea
mov dword [esi + 0x443c], 0
fstp st(0)
mov eax, dword [ecx + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x4424], eax
mov dword [esi + 0x4524], ecx
jmp 0x425b1c
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x425b1c
mov edx, dword [esp + 0x18]
mov dword [esi + 0x443c], 0
fld dword [ecx + 0x18]
fmul dword [0x59e450]
mov dword [esi + 0x4524], edx
fstp dword [esi + 0x4424]
fld dword [esi + 0x4524]
fcomp dword [0x59e440]
fnstsw ax
test ah, 0x44
jnp 0x425d64
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x28]
lea edi, [esi + 0xc]
push ecx
mov ecx, edi
call fcn.004efb20
mov ecx, dword [esi + 0x4400]
mov eax, dword [ecx + 0x114]
xor ebx, ebx
cmp eax, ebx
je 0x425c05
fld dword [esp + 0x24]
fsub dword [eax + 0x94]
fld dword [esp + 0x2c]
fsub dword [eax + 0x9c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0x14]
fstp st(0)
fstp st(0)
fld dword [ecx + 0x18]
fld st(0)
fmulp st(1)
fsqrt
fmul dword [0x59e8bc]
fadd dword [0x59e8b8]
fcom dword [0x59e8c0]
fnstsw ax
test ah, 0x41
jne 0x425baf
fstp st(0)
fld dword [0x59e8c0]
fld dword [0x59e854]
fmul st(1)
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x425bdb
mov dword [esi + 0x4468], ebx
fstp st(0)
mov dword [esi + 0x443c], ebx
mov edx, dword [ecx + 0x18]
mov dword [esi + 0x4424], edx
jmp 0x425c05
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x425c05
mov dword [esi + 0x4468], ebx
mov dword [esi + 0x443c], ebx
fld dword [ecx + 0x18]
fmul dword [0x59e450]
fstp dword [esi + 0x4424]
fld dword [esp + 0x24]
mov eax, dword [ecx + 0x114]
cmp eax, ebx
fsub dword [ecx]
fld dword [esp + 0x2c]
fsub dword [ecx + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
je 0x425c43
fld dword [ecx]
fsub dword [esp + 0x24]
fmul dword [eax + 0xc]
fld dword [ecx + 8]
fsub dword [esp + 0x2c]
fmul dword [eax + 0x14]
faddp st(1)
jmp 0x425c54
fcom dword [esi + 0x4524]
fnstsw ax
test ah, 0x41
jnp 0x425c61
fld dword [esp + 0x14]
fcomp dword [0x59e440]
fnstsw ax
test ah, 0x41
jne 0x425cd1
fcom dword [0x59e450]
fnstsw ax
test ah, 0x41
jne 0x425cd1
mov eax, dword [esi + 0x4440]
fst dword [esi + 0x4524]
fmul dword [0x59e8b4]
push 0x3f333333
push ecx
mov ecx, edi
fstp dword [esp]
push eax
call fcn.004e8b80
fcomp dword [0x59e440]
fnstsw ax
test ah, 0x41
jne 0x425cb6
pop edi
mov dword [esi + 0x4434], ebx
mov dword [esi + 0x4438], 0x3f800000
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov ecx, edi
mov dword [esi + 0x4438], ebx
call fcn.004e87e0
fstp dword [esi + 0x4434]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
fcomp dword [0x59e7ec]
fnstsw ax
test ah, 5
jp 0x425ce5
mov byte [esi + 0x45f4], 0
mov ecx, esi
mov dword [esi + 0x443c], ebx
mov dword [esi + 0x34f8], ebx
mov dword [esi + 0x3500], ebx
mov dword [esi + 0x34fc], ebx
mov dword [esi + 0x43f8], ebx
call fcn.0042ae00
cmp dword [0x7c56a4], 7
jne 0x425d1f
mov dword [esi + 0x4510], 4
jmp 0x425d29
mov dword [esi + 0x4510], 5
mov ecx, esi
mov dword [esi + 0x4524], ebx
mov dword [esi + 0x4438], 0x3f800000
mov dword [esi + 0x4434], ebx
mov dword [esi + 0x454c], ebx
mov dword [esi + 0x4550], 1
mov dword [esi + 0x4424], ebx
call fcn.00426430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
fld dword [esi + 0x4440]
push ebx
fmul dword [0x59e8b0]
mov ecx, esi
fstp dword [esp + 0x1c]
call fcn.0042a780
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jnp 0x425da0
mov ecx, dword [ebx + 0x110]
push ecx
mov ecx, esi
call fcn.0042a780
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x425da4
mov bl, 1
jmp 0x425da8
mov bl, byte [esp + 0x13]
cmp dword [edi + 0x134], 1
jne 0x425db9
fild dword [edi + 0x138]
jmp 0x425dc7
push edi
mov ecx, esi
call fcn.0042a780
fmul dword [esi + 0x4554]
mov ecx, dword [esi + 0x4354]
fstp dword [esp + 0x18]
mov edx, dword [esi + 0x4440]
lea eax, [esi + 0x4354]
cmp edi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
je 0x425e08
lea esp, [esp]
mov edx, dword [esp + 0x14]
mov dword [eax + 0x50], edx
inc ecx
add eax, 4
cmp ecx, 0x14
jge 0x425e04
cmp edi, dword [eax]
jne 0x425df0
mov dword [esp + 0x1c], ecx
fld dword [esp + 0x14]
mov dword [esi + 0x43f8], 0
fcomp dword [0x59e440]
mov dword [esi + 0x43fc], 0x461c3c00
fnstsw ax
test ah, 0x41
jne 0x425fa9
mov edx, dword [esp + 0x1c]
lea ebp, [esi + ecx*4 + 0x43a4]
lea esp, [esp]
fld dword [esp + 0x14]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x425f5a
mov ecx, dword [esi + 0x454c]
test ecx, ecx
je 0x425e73
mov eax, dword [edi + 0x114]
test eax, eax
je 0x425e73
cmp ecx, dword [eax + 0x12c]
jne 0x425e73
mov edi, eax
jmp 0x425e79
mov edi, dword [edi + 0x110]
test edi, edi
je 0x425fa9
cmp dword [edi + 0x134], 1
jne 0x425e92
fld dword [0x8acfb4]
jmp 0x425ec1
mov eax, dword [edi + 0x114]
test eax, eax
je 0x425eb9
mov eax, dword [eax + 0x12c]
cmp eax, ecx
jne 0x425eb9
cmp ecx, 1
je 0x425eb9
test eax, eax
je 0x425eb9
mov dword [esp + 0x18], 0x41400000
jmp 0x425ec5
mov ecx, esi
push edi
call fcn.0042a780
fstp dword [esp + 0x18]
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x74]
push eax
mov eax, dword [esp + 0x18]
lea ecx, [edi + 0x78]
push ecx
push edx
push eax
lea ecx, [esi + 0xc]
call fcn.004e9100
fld dword [esp + 0x14]
fcomp dword [0x59e43c]
fnstsw ax
test ah, 0x41
jne 0x425f21
fld dword [edi + 0x3c]
fdiv dword [esp + 0x14]
fmul dword [esi + 0x44cc]
fmul st(1)
fmul dword [0x59e8ac]
fsubr dword [esp + 0x14]
fstp dword [esp + 0x14]
fstp st(0)
fld dword [esp + 0x14]
fcomp dword [0x59e450]
fnstsw ax
test ah, 5
jp 0x425f2b
jmp 0x425f23
fstp st(0)
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x1c]
cmp edx, 0x14
jge 0x425f43
mov ecx, dword [esp + 0x14]
inc edx
mov dword [ebp], ecx
mov dword [esp + 0x1c], edx
add ebp, 4
fld dword [esp + 0x14]
fcomp dword [0x59e440]
fnstsw ax
test ah, 0x41
je 0x425e40
jmp 0x425fa9
cmp edx, 1
jge 0x425f66
mov edx, 1
jmp 0x425f6b
cmp edx, 0x14
jge 0x425f92
mov ecx, 0x14
lea eax, [esi + edx*4 + 0x43a4]
sub ecx, edx
lea esp, [esp]
fld dword [eax - 4]
add eax, 4
dec ecx
fsub dword [0x59e8a8]
fstp dword [eax - 4]
jne 0x425f80
mov edx, dword [esp + 0x18]
mov byte [0x5c3160], 0
mov dword [esi + 0x43f8], edi
mov dword [esi + 0x43fc], edx
mov ecx, dword [esi + 0x4354]
fld dword [ecx + 0x54]
fadd dword [0x59e8a4]
fcomp dword [esi + 0x4428]
fnstsw ax
test ah, 0x41
jne 0x425fe8
fld dword [esi + 0x4428]
fchs
fld dword [ecx + 0x50]
fadd dword [0x59e8a4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x425fe8
mov byte [esi + 0x445c], 1
jmp 0x425fef
mov byte [esi + 0x445c], 0
fld dword [esp + 0x14]
fcomp dword [0x59e440]
fnstsw ax
test ah, 0x41
jne 0x42603f
lea ecx, [esi + 0xc]
call fcn.004e88b0
fld dword [esp + 0x20]
fsubr st(1)
fcomp dword [0x59e7e8]
fnstsw ax
test ah, 0x41
jne 0x426027
fstp st(0)
fld dword [esp + 0x20]
fadd dword [0x59e7e8]
pop edi
fstp dword [esi + 0x4438]
mov dword [esi + 0x4434], 0
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
test bl, bl
mov dword [esi + 0x4438], 0
jne 0x4260e6
mov al, byte [esi + 0x445c]
test al, al
je 0x426077
mov eax, dword [esi + 0x446c]
test eax, eax
je 0x42606f
lea ecx, [esi + 0xc]
call fcn.004e87e0
jmp 0x426098
fld dword [0x59e43c]
jmp 0x426098
fld dword [esi + 0x4440]
fcomp dword [0x59e8a0]
fnstsw ax
test ah, 0x41
jne 0x426092
fld dword [0x59e450]
jmp 0x426098
fld dword [0x59e8c8]
mov al, byte [0x5c3160]
test al, al
je 0x4260a9
fld dword [esi + 0x44b8]
jmp 0x4260af
fld dword [esi + 0x44c4]
fmul dword [0x59e7e8]
fstp dword [esp + 0x14]
fld st(0)
fsub dword [esi + 0x4434]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x4260ee
fstp st(0)
pop edi
fld dword [esp + 0x10]
fadd dword [esi + 0x4434]
fstp dword [esi + 0x4434]
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
lea ecx, [esi + 0xc]
call fcn.004e87e0
pop edi
fstp dword [esi + 0x4434]
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret