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

Disassembly:
sub esp, 0x60
push ebp
push esi
mov esi, dword [esp + 0x6c]
push esi
call fcn.00422590
add esp, 4
test al, al
jne 0x435794
mov eax, dword [esi + 0x14]
fld dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fcom dword [0x858b50]
fnstsw ax
test ah, 0x44
jnp 0x43495c
fdivr dword [0x858624]
fld st(0)
fmul st(2)
fstp dword [esp + 0x2c]
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
jmp 0x434966
fstp st(0)
mov dword [esp + 0x2c], 0x3f800000
mov cx, word [esi + 0x3a4]
fstp st(0)
movzx edx, cx
shr edx, 0xa
mov eax, dword [edx*4 + 0x96f854]
test eax, eax
push edi
je 0x43576b
mov dx, word [esi + 0x3a6]
movzx eax, dx
shr eax, 0xa
mov edi, dword [eax*4 + 0x96f854]
test edi, edi
je 0x43576b
movsx edi, byte [esi + 0x3b5]
mov dword [esp + 0x2c], edi
movzx eax, cx
fild dword [esp + 0x2c]
mov edi, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
movsx eax, byte [edi + eax + 8]
mov dword [esp + 0x2c], eax
movzx eax, cx
fild dword [esp + 0x2c]
mov edi, eax
and eax, 0x3ff
fmul dword [0x858c58]
imul eax, eax, 0xe
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
movsx eax, byte [edi + eax + 9]
movsx edi, byte [esi + 0x3b6]
mov dword [esp + 0x2c], eax
movzx eax, dx
movzx ecx, cx
fmul st(1)
fstp dword [esp + 0x18]
fild dword [esp + 0x2c]
mov dword [esp + 0x2c], edi
mov edi, eax
and eax, 0x3ff
fmul dword [0x858c58]
imul eax, eax, 0xe
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
fmul st(1)
movsx eax, byte [edi + eax + 8]
fstp dword [esp + 0x14]
fstp st(0)
fild dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
movzx eax, dx
mov edx, eax
and eax, 0x3ff
fmul dword [0x858c58]
imul eax, eax, 0xe
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
movsx eax, byte [edx + eax + 9]
mov dword [esp + 0x2c], eax
fmul st(1)
mov edx, ecx
and ecx, 0x3ff
imul ecx, ecx, 0xe
fstp dword [esp + 0x28]
fild dword [esp + 0x2c]
fmul dword [0x858c58]
shr edx, 0xa
mov edi, dword [edx*4 + 0x96f974]
fmul st(1)
add ecx, edi
fstp dword [esp + 0x24]
fstp st(0)
call fcn.0044db00
movsx eax, byte [esi + 0x3b7]
movzx ecx, word [esi + 0x3a6]
mov edx, ecx
mov dword [esp + 0x2c], eax
and ecx, 0x3ff
imul ecx, ecx, 0xe
fiadd dword [esp + 0x2c]
shr edx, 0xa
fmul dword [0x858c50]
mov edi, dword [edx*4 + 0x96f974]
add ecx, edi
fstp dword [esp + 0xc]
call fcn.0044db00
movsx eax, byte [esi + 0x3b8]
mov dword [esp + 0x2c], eax
cmp dword [esi + 0x594], 0xa
fiadd dword [esp + 0x2c]
fmul dword [0x858c50]
jne 0x434b10
fld dword [esp + 0xc]
fadd dword [0x859010]
fstp dword [esp + 0xc]
fadd dword [0x859010]
mov cx, word [esi + 0x3a4]
movzx eax, cx
mov edx, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
movsx eax, word [edx + eax]
mov dword [esp + 0x2c], eax
mov di, word [esi + 0x3a6]
movzx eax, cx
fild dword [esp + 0x2c]
mov edx, eax
fmul dword [0x858c48]
and eax, 0x3ff
fld dword [esp + 0xc]
imul eax, eax, 0xe
fmul dword [esp + 0x14]
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
movsx eax, word [edx + eax + 2]
mov dword [esp + 0x2c], eax
movzx eax, di
mov edx, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
faddp st(1)
movsx eax, word [edx + eax]
fstp dword [esp + 0x20]
mov dword [esp + 0x10], eax
fild dword [esp + 0x2c]
movzx eax, di
fmul dword [0x858c48]
mov edx, eax
fld dword [esp + 0xc]
fmul dword [esp + 0x18]
and eax, 0x3ff
imul eax, eax, 0xe
fsubp st(1)
fstp dword [esp + 0x2c]
fild dword [esp + 0x10]
fmul dword [0x858c48]
shr edx, 0xa
mov edx, dword [edx*4 + 0x96f974]
fld st(1)
fmul dword [esp + 0x24]
movsx eax, word [edx + eax + 2]
mov edx, dword [esi + 0x14]
test edx, edx
mov dword [esp + 0x10], eax
faddp st(1)
lea eax, [edx + 0x30]
fstp dword [esp + 0x34]
fild dword [esp + 0x10]
fmul dword [0x858c48]
fxch st(1)
fmul dword [esp + 0x28]
fsubp st(1)
fstp dword [esp + 0x38]
jne 0x434c05
lea eax, [esi + 4]
test edx, edx
fld dword [eax]
fsub dword [esp + 0x20]
lea eax, [edx + 0x30]
jne 0x434c15
lea eax, [esi + 4]
fld dword [eax + 4]
fsub dword [esp + 0x2c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fsub dword [esp + 0x20]
fld dword [esp + 0x38]
fsub dword [esp + 0x2c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0x38]
fmul st(2)
fxch st(1)
fmul st(3)
faddp st(1)
fstp dword [esp + 0x2c]
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fcomp dword [0x858c80]
fnstsw ax
test ah, 5
jnp 0x434cb1
fld dword [esp + 0x2c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jne 0x434c8f
fld dword [esp + 0x10]
fcomp dword [0x859000]
fnstsw ax
test ah, 5
jnp 0x434cb1
fld dword [esp + 0x38]
fmul dword [esp + 0x10]
fdivr dword [esp + 0x2c]
fcomp dword [0x858cb0]
fnstsw ax
test ah, 0x41
je 0x434cb1
cmp di, cx
jne 0x435055
push esi
call fcn.00432b10
add esp, 4
test al, al
je case.0x434cde.3
mov al, byte [esi + 0x3ba]
movsx ecx, al
add ecx, 0xfffffffe
cmp ecx, 0x42
ja case.0x434cde.3
movzx ecx, byte [ecx + 0x4357c0]
jmp dword [ecx*4 + 0x43579c]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esi + 0x3f0]
push ecx
mov ecx, dword [esi + 0x3ec]
push edx
push eax
push ecx
push 0
push esi
mov byte [esi + 0x3ba], 9
call fcn.00433280
add esp, 0x20
pop edi
pop esi
pop ebp
add esp, 0x60
ret
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esi + 0x3f0]
push ecx
mov ecx, dword [esi + 0x3ec]
push edx
push eax
push ecx
push 0
push esi
mov byte [esi + 0x3ba], 0xd
call fcn.00433280
add esp, 0x20
pop edi
pop esi
pop ebp
add esp, 0x60
ret
push 0xffffffffffffffff
lea edx, [esp + 0x40]
mov byte [esi + 0x3ba], 5
push edx
call fcn.0056e010
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
push eax
push edx
push ecx
push 0
push esi
call fcn.00433280
add esp, 0x28
pop edi
pop esi
pop ebp
add esp, 0x60
ret
push 0xffffffffffffffff
lea ecx, [esp + 0x58]
mov byte [esi + 0x3ba], 0x2c
push ecx
jmp 0x434d6f
push 0xffffffffffffffff
lea ecx, [esp + 0x64]
mov byte [esi + 0x3ba], 3
push ecx
jmp 0x434d6f
mov eax, dword [esi + 0x41c]
mov byte [esi + 0x3ba], 0x10
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x434ded
lea eax, [ecx + 0x30]
jmp 0x434df0
add eax, 4
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x80]
push eax
push edx
push ecx
push 0
push esi
call fcn.00433280
add esp, 0x20
pop edi
pop esi
pop ebp
add esp, 0x60
ret
mov eax, dword [esi + 0x41c]
mov byte [esi + 0x3ba], 0x12
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x434ded
lea eax, [ecx + 0x30]
jmp 0x434df0
sub al, 0x24
mov byte [esi + 0x3ba], al
mov eax, dword [esi + 0x41c]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x434ded
lea eax, [ecx + 0x30]
jmp 0x434df0
mov ax, word [esi + 0x3a4]
movzx ecx, ax
shr ecx, 0xa
mov edx, dword [ecx*4 + 0x96f854]
test edx, edx
je 0x43573c
movzx edx, word [esi + 0x3a6]
shr edx, 0xa
mov ecx, dword [edx*4 + 0x96f854]
test ecx, ecx
je 0x43573c
movzx ecx, ax
mov eax, ecx
and ecx, 0x3ff
imul ecx, ecx, 0xe
shr eax, 0xa
add ecx, dword [eax*4 + 0x96f974]
call fcn.0044db00
movsx ecx, byte [esi + 0x3b7]
mov edx, dword [esi + 0x14]
test edx, edx
mov dword [esp + 0x38], ecx
mov cx, word [esi + 0x3a4]
lea edi, [edx + 0x30]
fiadd dword [esp + 0x38]
fmul dword [0x858c50]
fstp dword [esp + 0xc]
jne 0x434ee2
lea edi, [esi + 4]
movzx eax, cx
mov ebp, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr ebp, 0xa
test edx, edx
mov ebp, dword [ebp*4 + 0x96f974]
movsx eax, word [eax + ebp]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fmul dword [0x858c48]
fld dword [esp + 0xc]
fmul dword [esp + 0x14]
faddp st(1)
fsub dword [edi]
lea edi, [edx + 0x30]
jne 0x434f21
lea edi, [esi + 4]
movzx eax, cx
mov ebp, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr ebp, 0xa
mov ebp, dword [ebp*4 + 0x96f974]
movsx eax, word [eax + ebp + 2]
mov dword [esp + 0x38], eax
movzx eax, cx
fild dword [esp + 0x38]
movsx ebp, byte [esi + 0x3b6]
fmul dword [0x858c48]
fld dword [esp + 0xc]
fmul dword [esp + 0x18]
fsubp st(1)
fsub dword [edi + 4]
movsx edi, byte [esi + 0x3b5]
mov dword [esp + 0x38], edi
mov edi, eax
fld st(0)
and eax, 0x3ff
fmul st(1)
imul eax, eax, 0xe
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
movsx eax, byte [edi + eax + 8]
fstp st(2)
fstp st(0)
fstp dword [esp + 0x10]
fild dword [esp + 0x38]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
movzx eax, cx
mov edi, eax
and eax, 0x3ff
fmul dword [0x858c58]
imul eax, eax, 0xe
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
movsx eax, byte [edi + eax + 9]
mov di, word [esi + 0x3a6]
mov dword [esp + 0x38], eax
movzx eax, di
fmul st(1)
fstp dword [esp + 0x18]
fild dword [esp + 0x38]
mov dword [esp + 0x38], ebp
mov ebp, eax
and eax, 0x3ff
fmul dword [0x858c58]
imul eax, eax, 0xe
shr ebp, 0xa
mov ebp, dword [ebp*4 + 0x96f974]
fmul st(1)
movsx eax, byte [eax + ebp + 8]
fstp dword [esp + 0x14]
fstp st(0)
fild dword [esp + 0x38]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
movzx eax, di
mov edi, eax
and eax, 0x3ff
fmul dword [0x858c58]
shr edi, 0xa
imul eax, eax, 0xe
mov edi, dword [edi*4 + 0x96f974]
movsx eax, byte [edi + eax + 9]
mov dword [esp + 0x38], eax
fmul st(1)
fstp dword [esp + 0x28]
fild dword [esp + 0x38]
fmul dword [0x858c58]
fmul st(1)
fstp dword [esp + 0x24]
fstp st(0)
fld dword [esp + 0xc]
movzx eax, cx
fmul dword [esp + 0x14]
mov edi, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
movsx eax, word [edi + eax]
mov dword [esp + 0x38], eax
movzx eax, cx
fild dword [esp + 0x38]
mov edi, eax
and eax, 0x3ff
fmul dword [0x858c48]
imul eax, eax, 0xe
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
fadd st(1)
movsx eax, word [edi + eax + 2]
fstp dword [esp + 0x48]
mov dword [esp + 0x38], eax
fld dword [esp + 0xc]
mov eax, dword [esp + 0x48]
fmul dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], 0
fstp dword [esp + 0x2c]
fild dword [esp + 0x38]
fmul dword [0x858c48]
fsub dword [esp + 0x2c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
fmul dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], eax
fmul dword [0x858f9c]
fsubr dword [esp + 0x48]
fstp dword [esp + 0x3c]
fld dword [esp + 0x10]
fmul dword [esp + 0x14]
fmul dword [0x858f9c]
fsubr dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x10]
fcomp dword [0x858a10]
fnstsw ax
test ah, 0x41
jne 0x4351b0
movzx eax, cx
mov edi, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr edi, 0xa
mov edi, dword [edi*4 + 0x96f974]
movsx eax, word [edi + eax]
mov dword [esp + 0x38], eax
movzx eax, cx
fild dword [esp + 0x38]
mov ecx, eax
shr ecx, 0xa
fmul dword [0x858c48]
mov ecx, dword [ecx*4 + 0x96f974]
and eax, 0x3ff
imul eax, eax, 0xe
movsx eax, word [ecx + eax + 2]
mov dword [esp + 0x38], eax
fadd st(1)
mov dword [esp + 0x50], 0
fstp dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x50]
fstp st(0)
fild dword [esp + 0x38]
mov dword [esp + 0x44], ecx
fmul dword [0x858c48]
fsub dword [esp + 0x2c]
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
jmp 0x4351b2
fstp st(0)
test edx, edx
lea ecx, [edx + 0x30]
jne 0x435223
lea ecx, [esi + 4]
lea eax, [esi + 4]
fld dword [esp + 0x40]
sub esp, 8
fsub dword [ecx + 4]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fsub dword [eax]
fstp dword [esp]
call fcn.0053cc70
mov edx, dword [esp + 0x24]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x38]
push edx
push eax
call fcn.0053cc70
fstp dword [esp + 0x2c]
mov al, byte [esi + 0x3b9]
add esp, 0x10
cmp al, 2
je 0x435207
cmp al, 5
je 0x435207
cmp al, 6
jne 0x435228
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
push 0x3f800000
push ecx
push edx
push 0
push esi
call fcn.004325c0
add esp, 0x14
jmp 0x43522c
lea eax, [edx + 0x30]
jmp 0x4351bf
fld dword [esp + 0x2c]
fsub dword [esp + 0x1c]
fcom dword [0x858cc0]
fst dword [esp + 0xc]
fnstsw ax
test ah, 5
jp 0x435258
fadd dword [0x858cbc]
fcom dword [0x858cc0]
fnstsw ax
test ah, 5
jnp 0x435241
fst dword [esp + 0xc]
fcom dword [0x858cb8]
fnstsw ax
test ah, 0x41
jne 0x435289
jmp 0x435270
fsub dword [0x858cbc]
fcom dword [0x858cb8]
fnstsw ax
test ah, 0x41
je 0x435270
fstp dword [esp + 0xc]
jmp 0x43528b
fstp st(0)
push esi
call fcn.00427fe0
fld st(0)
fchs
add esp, 4
fld dword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4352ab
fstp dword [esp + 0xc]
jmp 0x4352ad
fstp st(0)
fld dword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4352c0
fstp dword [esp + 0xc]
jmp 0x4352c2
fstp st(0)
mov eax, dword [esi + 0x14]
fld dword [esi + 0x4c]
fmul dword [eax + 0x18]
add eax, 0x10
fld dword [esi + 0x48]
fmul dword [eax + 4]
faddp st(1)
fld dword [esi + 0x44]
fmul dword [eax]
movsx eax, byte [esi + 0x3b9]
cmp eax, 6
faddp st(1)
fmul dword [0x858b34]
fstp dword [esp + 0x30]
ja case.0x4352fa.2
movzx eax, byte [eax + 0x43580c]
jmp dword [eax*4 + 0x435804]
push esi
call fcn.00434400
movzx ecx, byte [esi + 0x3d0]
mov dword [esp + 0x3c], ecx
add esp, 4
fidiv dword [esp + 0x38]
fstp dword [esp + 0x20]
jmp 0x435327
mov dword [esp + 0x20], 0x3f800000
movsx eax, byte [esi + 0x3b9]
cmp eax, 6
ja case.0x43533a.2
movzx edx, byte [eax + 0x43581c]
jmp dword [edx*4 + 0x435814]
push 0
push esi
call fcn.0049d610
add esp, 8
test al, al
je case.0x43533a.2
push esi
call fcn.0041c050
add esp, 4
mov dword [esp + 0x20], 0
push esi
call fcn.0049d420
add esp, 4
test al, al
je 0x43537f
push esi
call fcn.0041c050
add esp, 4
mov dword [esp + 0x20], 0
movzx ecx, word [esi + 0x3a4]
mov eax, ecx
and ecx, 0x3ff
imul ecx, ecx, 0xe
shr eax, 0xa
add ecx, dword [eax*4 + 0x96f974]
call fcn.0044db00
movsx ecx, byte [esi + 0x3b7]
mov eax, dword [esi + 0x14]
test eax, eax
mov dword [esp + 0x38], ecx
mov cx, word [esi + 0x3a4]
lea edi, [eax + 0x30]
fiadd dword [esp + 0x38]
fmul dword [0x858c50]
jne 0x4354f2
lea edi, [esi + 4]
lea edx, [esi + 4]
movzx eax, cx
mov ebp, eax
and eax, 0x3ff
imul eax, eax, 0xe
shr ebp, 0xa
mov ebp, dword [ebp*4 + 0x96f974]
movsx eax, word [eax + ebp + 2]
movzx ecx, cx
mov dword [esp + 0x38], eax
mov eax, ecx
and ecx, 0x3ff
fild dword [esp + 0x38]
imul ecx, ecx, 0xe
fmul dword [0x858c48]
fld st(1)
fmul dword [esp + 0x18]
push 0x3ecccccd
shr eax, 0xa
mov eax, dword [eax*4 + 0x96f974]
fsubp st(1)
movsx ecx, word [eax + ecx]
fsub dword [edi + 4]
push 0x3f99999a
push 0x3ecccccd
sub esp, 8
mov dword [esp + 0x4c], ecx
fstp dword [esp + 4]
fild dword [esp + 0x4c]
fmul dword [0x858c48]
fxch st(1)
fmul dword [esp + 0x28]
faddp st(1)
fsub dword [edx]
fstp dword [esp]
call fcn.0053cc70
fsub dword [esp + 0x30]
add esp, 4
fstp dword [esp]
call fcn.004224e0
mov edx, dword [esp + 0x24]
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push edx
push eax
call fcn.0053cc70
fstp dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
add esp, 0x18
push 0x3ecccccd
push 0x3f99999a
push 0x3dcccccd
push ecx
push edx
call fcn.0053cc70
fsubr dword [esp + 0x4c]
add esp, 4
fstp dword [esp]
call fcn.004224e0
fstp dword [esp + 0x48]
add esp, 0x10
fld dword [esp + 0x10]
fcomp dword [0x858a10]
fnstsw ax
test ah, 0x41
je 0x4354fa
cmp byte [esi + 0x3d0], 0xc
jb 0x4354fa
fld dword [esp + 0x10]
fmul dword [0x859038]
fsubr dword [0x858624]
fld dword [0x858624]
fsub dword [esp + 0x38]
fmulp st(1)
fsubr dword [0x858624]
jmp 0x435500
lea edx, [eax + 0x30]
jmp 0x4353d0
fld dword [0x858624]
fld dword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x435513
fld dword [esp + 0x1c]
jmp 0x435515
fld st(0)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x435533
fld dword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x43553b
fstp dword [esp + 0x1c]
jmp 0x43553d
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
fstp st(0)
movzx ecx, byte [esi + 0x3d0]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x7c]
mov dword [ecx], 0
fild dword [esp + 0x38]
fmul dword [esp + 0x1c]
fld dword [esp + 0x30]
fsubr st(1)
fstp dword [esp + 0x1c]
fcomp dword [0x858c28]
fnstsw ax
test ah, 5
jp 0x435597
fld dword [esp + 0x1c]
fcomp dword [0x858b10]
fnstsw ax
test ah, 5
jp 0x435597
mov edx, dword [esp + 0x78]
mov dword [ecx], 0x3f800000
mov dword [edx], 0
jmp 0x43566f
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jne 0x435642
fld dword [esp + 0x30]
fcomp dword [0x858ca0]
fld dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4355e6
fmul dword [0x858c84]
fld dword [0x858624]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4355de
fstp st(0)
fld dword [0x858624]
mov eax, dword [esp + 0x78]
fstp dword [eax]
jmp 0x435609
fmul dword [0x858c48]
fld dword [0x858624]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x435603
fstp st(0)
fld dword [0x858624]
mov ecx, dword [esp + 0x78]
fstp dword [ecx]
cmp dword [esi + 0x594], 0xa
jne 0x43566f
fld dword [esp + 0x1c]
fcomp dword [0x858b3c]
fnstsw ax
test ah, 0x41
jne 0x43566f
fld dword [esi + 0x818]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x43566f
mov dword [esi + 0x818], 0x41200000
jmp 0x43566f
fld dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
fmul dword [0x859034]
mov dword [edx], 0
fld dword [0x858b8c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43566d
fstp st(0)
fld dword [0x858b8c]
fstp dword [ecx]
mov eax, dword [esp + 0x74]
fld dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
fstp dword [eax]
mov byte [ecx], 0
mov al, byte [esi + 0x3ba]
cmp al, 8
je 0x435695
cmp al, 0xc
jne 0x435793
mov al, byte [esi + 0x3bb]
test al, al
jne 0x435793
mov edi, dword [esi + 0x14]
test edi, edi
lea eax, [edi + 0x30]
jne 0x4356b0
lea eax, [esi + 4]
lea edx, [esi + 0x3ec]
push edx
push eax
lea eax, [esp + 0x68]
push eax
call fcn.0040fe60
add esp, 0xc
mov ecx, eax
call fcn.004082c0
fst dword [esp + 0x30]
fcomp dword [0x859000]
fnstsw ax
test ah, 5
jp 0x435793
test edi, edi
lea eax, [edi + 0x30]
jne 0x4356eb
lea eax, [esi + 4]
add edi, 0x10
push edi
push eax
call fcn.0040fdb0
fcom dword [0x858b50]
add esp, 8
fnstsw ax
test ah, 5
jp 0x435707
fchs
fld dword [esp + 0x30]
fdivr st(1)
fcomp dword [0x858cc4]
fnstsw ax
fstp st(0)
test ah, 5
jp 0x435793
mov byte [esi + 0x3bb], 3
mov ecx, dword [0xb7cb84]
add ecx, 0x7d0
pop edi
mov dword [esi + 0x3bc], ecx
pop esi
pop ebp
add esp, 0x60
ret
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov dword [edx], 0x3f800000
mov edx, dword [esp + 0x80]
pop edi
mov dword [eax], 0
pop esi
mov dword [ecx], 0
mov byte [edx], 0
pop ebp
add esp, 0x60
ret
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov dword [eax], 0x3f800000
mov eax, dword [esp + 0x80]
mov dword [ecx], 0
mov dword [edx], 0
mov byte [eax], 0
pop edi
pop esi
pop ebp
add esp, 0x60
ret