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

Disassembly:
sub esp, 0x38
fldz
push ebx
push ebp
mov ebp, dword [0x101e25f0]
mov bl, byte [ebp + 8]
and bl, 1
test byte [ebp + 8], 2
push esi
push edi
mov byte [ebp + 0x363], 0
mov byte [esp + 0x13], bl
je 0x1004f559
test byte [ebp + 0xc], 1
je 0x1004f559
fcom dword [ebp + 0x30c]
mov byte [esp + 0x12], 1
fnstsw ax
test ah, 5
jnp 0x1004f44d
fcom dword [ebp + 0x314]
fnstsw ax
test ah, 5
jnp 0x1004f44d
fcom dword [ebp + 0x310]
fnstsw ax
test ah, 5
jnp 0x1004f44d
fcom dword [ebp + 0x318]
fnstsw ax
test ah, 5
jp 0x1004f457
mov dword [ebp + 0x1ac4], 4
test bl, bl
fld1
mov edx, 3
je 0x1004f563
mov eax, dword [ebp + 0x64]
push eax
call fcn.1003baf0
add esp, 4
test al, al
je 0x1004f482
fst dword [ebp + 0x30c]
mov dword [ebp + 0x1ac4], edx
mov ecx, dword [ebp + 0x68]
push ecx
call fcn.1003baf0
add esp, 4
test al, al
je 0x1004f49e
fst dword [ebp + 0x314]
mov dword [ebp + 0x1ac4], edx
mov eax, dword [ebp + 0x6c]
push eax
call fcn.1003baf0
add esp, 4
test al, al
je 0x1004f4ba
fst dword [ebp + 0x310]
mov dword [ebp + 0x1ac4], edx
mov ecx, dword [ebp + 0x38]
push ecx
call fcn.1003baf0
add esp, 4
test al, al
je 0x1004f4d6
fst dword [ebp + 0x350]
mov dword [ebp + 0x1ac4], edx
mov eax, dword [ebp + 0x3c]
push eax
call fcn.1003baf0
add esp, 4
test al, al
je 0x1004f4f2
fst dword [ebp + 0x354]
mov dword [ebp + 0x1ac4], edx
mov ecx, dword [ebp + 0x40]
push ecx
call fcn.1003baf0
add esp, 4
test al, al
je 0x1004f50e
fst dword [ebp + 0x358]
mov dword [ebp + 0x1ac4], edx
mov eax, dword [ebp + 0x44]
push eax
call fcn.1003baf0
add esp, 4
test al, al
je 0x1004f52a
fst dword [ebp + 0x35c]
mov dword [ebp + 0x1ac4], edx
cmp byte [ebp + 0x108], 0
je 0x1004f539
fst dword [ebp + 0x344]
cmp byte [ebp + 0x109], 0
je 0x1004f548
fst dword [ebp + 0x348]
cmp byte [ebp + 0x10a], 0
je 0x1004f563
fstp dword [ebp + 0x34c]
jmp 0x1004f565
mov byte [esp + 0x12], 0
jmp 0x1004f457
fstp st(0)
fldz
lea eax, [ebp + 0x1458]
fld qword [0x101a0b90]
lea edi, [ebp + 0x14ac]
mov ecx, 0x15
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov edx, 7
jmp 0x1004f58d
fxch st(2)
fxch st(2)
fcom dword [ecx - 0x114c]
fnstsw ax
test ah, 5
jp 0x1004f5b0
fcom dword [ecx]
fnstsw ax
test ah, 0x41
jne 0x1004f5a9
fld st(1)
jmp 0x1004f5b2
fld dword [ebp + 0x18]
fadd dword [ecx]
jmp 0x1004f5b2
fld st(2)
fstp dword [ecx]
fcom dword [ecx - 0x1148]
fnstsw ax
test ah, 5
jp 0x1004f5d7
fcom dword [ecx + 4]
fnstsw ax
test ah, 0x41
jne 0x1004f5cf
fld st(1)
jmp 0x1004f5d9
fld dword [ebp + 0x18]
fadd dword [ecx + 4]
jmp 0x1004f5d9
fld st(2)
fstp dword [ecx + 4]
fcom dword [ecx - 0x1144]
fnstsw ax
test ah, 5
jp 0x1004f5ff
fcom dword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x1004f5f7
fld st(1)
jmp 0x1004f601
fld dword [ebp + 0x18]
fadd dword [ecx + 8]
jmp 0x1004f601
fld st(2)
fstp dword [ecx + 8]
add ecx, 0xc
sub edx, 1
jne 0x1004f58b
mov eax, dword [ebp + 0x1b04]
fstp st(0)
xor esi, esi
fstp st(0)
cmp eax, esi
fstp st(0)
je 0x1004f69f
cmp byte [ebp + 0x1afe], 0
je 0x1004f634
cmp byte [ebp + 0x1b02], 0
je 0x1004f69f
cmp byte [ebp + 0x1b02], 0
je 0x1004f656
mov edx, dword [ebp + 0x1af4]
lea ecx, [ebp + 0x1b08]
push ecx
push edx
push eax
call fcn.1003b270
add esp, 0xc
jmp 0x1004f666
mov ecx, dword [ebp + 0x1af4]
push ecx
push eax
call fcn.1003b240
add esp, 8
mov edx, dword [ebp + 0x1af4]
mov eax, dword [ebp + 0x1aa0]
mov ecx, dword [ebp + 0x1b08]
shl edx, 4
lea eax, [eax + edx + 0x308]
mov dword [eax], ecx
mov edx, dword [ebp + 0x1b0c]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 0x1b10]
mov dword [eax + 8], ecx
mov edx, dword [ebp + 0x1b14]
mov dword [eax + 0xc], edx
cmp byte [ebp + 0x1b19], 0
mov byte [ebp + 0x1b01], 0
mov byte [ebp + 0x1b02], 0
mov dword [ebp + 0x1b04], esi
mov dword [ebp + 0x1abc], esi
je 0x1004f6c7
call fcn.10044010
cmp dword [ebp + 0x1b20], 2
jne 0x1004f6ed
cmp dword [ebp + 0x1b30], esi
jne 0x1004f6e7
cmp dword [ebp + 0x1b78], esi
jne 0x1004f6e7
mov byte [ebp + 0x1afe], 0
mov dword [ebp + 0x1b20], esi
cmp byte [ebp + 0x1afd], 0
je 0x1004f75d
cmp byte [ebp + 0x1afc], 0
je 0x1004f75d
test byte [ebp + 8], 4
je 0x1004f756
test byte [ebp + 0xc], 4
je 0x1004f756
cmp byte [ebp + 0x1afe], 0
jne 0x1004f756
cmp byte [ebp + 0x1aff], 0
je 0x1004f756
cmp dword [ebp + 0x1aa0], esi
je 0x1004f756
lea edi, [esp + 0x28]
call fcn.10043ea0
mov ecx, dword [eax]
mov dword [ebp + 0x388], ecx
mov edx, dword [eax + 4]
mov eax, ecx
mov ecx, edx
mov dword [ebp + 0x38c], edx
mov dword [ebp + 0xf0], eax
mov dword [ebp + 0xf4], ecx
mov byte [ebp + 0x363], 1
mov byte [ebp + 0x1afd], 0
mov edx, dword [ebp + 0x1aa0]
cmp edx, esi
mov byte [ebp + 0x1afc], 0
mov dword [ebp + 0x1ab8], esi
je 0x1004f779
call fcn.1003d9f0
mov eax, dword [ebp + 0x1aa0]
cmp eax, esi
je 0x1004f799
cmp dword [eax + 0x2fc], esi
je 0x1004f799
cmp dword [ebp + 0x1af4], esi
jne 0x1004f799
mov dword [eax + 0x2fc], esi
call fcn.1004d550
test bl, bl
mov edi, 0x40000
jne 0x1004f7ad
cmp byte [esp + 0x12], bl
je 0x1004f7c3
mov eax, dword [ebp + 0x1aa0]
cmp eax, esi
je 0x1004f7c3
test dword [eax + 8], edi
jne 0x1004f7c3
mov eax, 1
jmp 0x1004f7c5
xor eax, eax
test al, al
mov byte [ebp + 0x365], al
je 0x1004f7e0
cmp dword [ebp + 0x1aa4], esi
je 0x1004f7e0
cmp byte [ebp + 0x1afe], 0
je 0x1004f7f5
cmp dword [ebp + 0x1adc], esi
jne 0x1004f7f5
cmp byte [ebp + 0x1b01], 0
jne 0x1004f7f5
xor eax, eax
jmp 0x1004f7fa
mov eax, 1
push 1
push 1
mov byte [ebp + 0x366], al
call fcn.1003db60
fcomp dword [0x1019c9a4]
add esp, 8
fnstsw ax
test ah, 0x41
jne 0x1004f8e8
cmp dword [ebp + 0x19b4], esi
je 0x1004f82f
call fcn.1003b440
jmp 0x1004f8e8
mov esi, dword [ebp + 0x1aa0]
xor ebx, ebx
cmp esi, ebx
je 0x1004f882
mov eax, dword [esi + 8]
test eax, 0x1000000
je 0x1004f882
test eax, 0x4000000
jne 0x1004f882
mov eax, dword [esi + 0x2ec]
cmp eax, ebx
je 0x1004f882
push eax
call fcn.100427b0
mov edx, dword [esi + 0x54]
push ebx
push edx
call fcn.1003b240
add esp, 0xc
xor esi, esi
cmp byte [ebp + 0x1aff], bl
mov byte [ebp + 0x1afc], bl
je 0x1004f8e8
mov byte [ebp + 0x1afd], 1
jmp 0x1004f8e8
mov eax, dword [ebp + 0x1a1c]
cmp eax, ebx
jle 0x1004f8b4
mov edx, dword [ebp + 0x1a24]
mov ecx, eax
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx*4 - 0x20]
test dword [ecx + 8], 0x8000000
jne 0x1004f8e6
add eax, 0xffffffff
push 1
push eax
call fcn.10047fa0
add esp, 8
jmp 0x1004f8e6
cmp dword [ebp + 0x1af4], ebx
je 0x1004f8c5
xor eax, eax
call fcn.10043e50
jmp 0x1004f8e6
cmp esi, ebx
je 0x1004f8e0
mov eax, dword [esi + 8]
test eax, 0x4000000
jne 0x1004f8da
test eax, 0x1000000
jne 0x1004f8e0
mov dword [esi + 0x300], ebx
mov dword [ebp + 0x1aa4], ebx
xor esi, esi
mov dword [ebp + 0x1ab4], esi
mov dword [ebp + 0x1ab0], esi
mov dword [ebp + 0x1aac], esi
mov dword [ebp + 0x1aa8], esi
mov esi, dword [ebp + 0x1aa4]
test esi, esi
je 0x1004f9cd
cmp byte [ebp + 0x1afe], 0
jne 0x1004f9cd
cmp dword [ebp + 0x1adc], 0
jne 0x1004f9cd
mov eax, dword [ebp + 0x1aa0]
test eax, eax
je 0x1004f9cd
test dword [eax + 8], edi
jne 0x1004f9cd
fldz
mov edx, dword [0x101e25f0]
fcomp dword [edx + 0x30c]
fnstsw ax
test ah, 5
jp 0x1004f96a
push 1
push 0
mov bl, 1
call fcn.10040440
add esp, 8
test al, al
je 0x1004f96c
mov cl, bl
jmp 0x1004f96e
xor bl, bl
xor cl, cl
mov eax, dword [ebp + 0x19b4]
test eax, eax
jne 0x1004f986
test cl, cl
je 0x1004f982
mov dword [ebp + 0x1aa8], esi
test eax, eax
je 0x1004f98a
cmp eax, esi
jne 0x1004f994
test bl, bl
je 0x1004f994
mov dword [ebp + 0x1aac], esi
test eax, eax
je 0x1004f99c
cmp eax, esi
jne 0x1004f9a6
test cl, cl
je 0x1004f9a6
mov dword [ebp + 0x1ab0], esi
test eax, eax
je 0x1004f9ae
cmp eax, esi
jne 0x1004f9cd
push 1
push 2
call fcn.1003db60
fcomp dword [0x1019c9a4]
add esp, 8
fnstsw ax
test ah, 0x41
jne 0x1004f9cd
mov dword [ebp + 0x1ab4], esi
mov ecx, dword [ebp + 0x1aa0]
test ecx, ecx
je 0x1004f9e3
test dword [ecx + 8], edi
je 0x1004f9e3
mov byte [ebp + 0x1afe], 1
mov eax, dword [ebp + 0x1ac0]
test eax, eax
mov byte [ebp + 0x1b19], 0
je 0x1004fa0c
mov dword [ebp + 0x1ab4], eax
mov dword [ebp + 0x1ab0], eax
mov dword [ebp + 0x1aac], eax
mov dword [ebp + 0x1aa8], eax
cmp dword [ebp + 0x19b4], 0
mov dword [ebp + 0x1ac0], 0
jne 0x1004fa24
or ebx, 0xffffffff
jmp 0x1004fa2a
mov ebx, dword [ebp + 0x19cc]
xor edi, edi
cmp dword [ebp + 0x1b20], edi
jne 0x1004faff
cmp ecx, edi
mov dword [ebp + 0x1b24], 0xffffffff
mov dword [ebp + 0x1b1c], edi
je 0x1004faf1
cmp dword [ebp + 0x1adc], edi
jne 0x1004faf1
cmp ebx, edi
je 0x1004faf1
test dword [ecx + 8], 0x40000
jne 0x1004faf1
test bl, 1
je 0x1004fa8e
push 3
push 0x11
push 4
call fcn.10040470
add esp, 0xc
test al, al
je 0x1004fa8e
mov dword [ebp + 0x1b24], edi
test bl, 2
je 0x1004faaf
push 3
push 0x12
push 5
call fcn.10040470
add esp, 0xc
test al, al
je 0x1004faaf
mov dword [ebp + 0x1b24], 1
test bl, 4
je 0x1004fad0
push 3
push 0x13
push 6
call fcn.10040470
add esp, 0xc
test al, al
je 0x1004fad0
mov dword [ebp + 0x1b24], 2
test bl, 8
je 0x1004faf1
push 3
push 0x14
push 7
call fcn.10040470
add esp, 0xc
test al, al
je 0x1004faf1
mov dword [ebp + 0x1b24], 3
mov eax, dword [ebp + 0x1b24]
mov dword [ebp + 0x1b2c], eax
jmp 0x1004fb09
mov dword [ebp + 0x1b20], 2
cmp byte [esp + 0x13], 0
fldz
fstp dword [esp + 0x24]
je 0x1004fb23
push ebx
call fcn.10044240
fstp dword [esp + 0x28]
add esp, 4
mov eax, dword [ebp + 0x1b24]
cmp eax, 0xffffffff
je 0x1004fb3b
mov byte [ebp + 0x1b19], 1
mov dword [ebp + 0x1b28], eax
cmp byte [ebp + 0x1b19], 0
je 0x1004fb67
cmp dword [ebp + 0x1aa4], edi
jne 0x1004fb67
mov byte [ebp + 0x1b02], 1
mov byte [ebp + 0x1b01], 1
mov dword [ebp + 0x1b04], edi
mov byte [ebp + 0x1afe], 0
mov ecx, dword [0x101e25f0]
cmp byte [ecx + 0x1b19], 0
jne 0x1004fb83
cmp byte [ecx + 0x1b01], 0
jne 0x1004fb83
xor eax, eax
jmp 0x1004fb88
mov eax, 1
mov byte [ecx + 0x1b00], al
mov esi, dword [ebp + 0x1aa0]
cmp esi, edi
je 0x1004fd71
test dword [esi + 8], 0x40000
jne 0x1004fd71
cmp dword [ebp + 0x1adc], edi
jne 0x1004fd71
mov ecx, dword [0x101e25f0]
fld dword [ecx + 0x18b8]
fmul dword [esi + 0x26c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul qword [0x1019c9e0]
fmul dword [ebp + 0x18]
fadd qword [0x1019e130]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.10114560
cmp dword [esi + 0x13c], edi
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fstp dword [esp + 0x14]
jne 0x1004fcbb
cmp byte [esi + 0x145], 0
je 0x1004fcbb
cmp byte [ebp + 0x1b19], 0
je 0x1004fcbb
mov eax, dword [ebp + 0x1b24]
cmp eax, edi
je 0x1004fc30
cmp eax, 1
jne 0x1004fc6b
cmp eax, edi
jne 0x1004fc38
fld dword [0x1019cf4c]
jmp 0x1004fc3a
fld1
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x14]
fadd dword [esi + 0x58]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.10114560
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push ecx
fstp dword [esp]
push esi
call fcn.1003cb40
add esp, 8
mov eax, dword [ebp + 0x1b24]
cmp eax, 2
je 0x1004fc80
cmp eax, 3
jne 0x1004fcbb
cmp eax, 2
jne 0x1004fc88
fld dword [0x1019cf4c]
jmp 0x1004fc8a
fld1
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x14]
fadd dword [esi + 0x5c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.10114560
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push ecx
fstp dword [esp]
push esi
call fcn.1003cb70
add esp, 8
fld dword [0x101a0b50]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x30]
fld dword [0x1019d820]
fstp dword [esp]
push edi
push 4
push edx
call fcn.1003dcf0
fldz
fld dword [esp + 0x3c]
add esp, 0x14
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x1004fd2a
cmp byte [esi + 0x78], 0
je 0x1004fd2a
fmul dword [esp + 0x14]
fadd dword [esi + 0x58]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.10114560
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push ecx
fstp dword [esp]
push esi
call fcn.1003cb40
add esp, 8
mov byte [ebp + 0x1b18], 1
jmp 0x1004fd2c
fstp st(0)
fldz
fld dword [esp + 0x2c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x1004fd6f
fmul dword [esp + 0x14]
fadd dword [esi + 0x5c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.10114560
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push ecx
fstp dword [esp]
push esi
call fcn.1003cb70
add esp, 8
mov byte [ebp + 0x1b18], 1
jmp 0x1004fd71
fstp st(0)
fld dword [0x101a07a0]
mov dword [ebp + 0x1b30], edi
fst dword [ebp + 0x1b40]
mov dword [ebp + 0x1b34], edi
fst dword [ebp + 0x1b3c]
fst dword [ebp + 0x1b38]
fst dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x1b44], eax
fst dword [esp + 0x3c]
fld dword [0x101a0678]
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x1b48], ecx
fst dword [esp + 0x40]
mov edx, dword [esp + 0x40]
fst dword [esp + 0x44]
mov eax, dword [esp + 0x44]
fxch st(1)
mov dword [ebp + 0x1b4c], edx
mov dword [ebp + 0x1b50], eax
fst dword [ebp + 0x1b64]
fst dword [ebp + 0x1b60]
mov dword [ebp + 0x1b54], edi
fst dword [ebp + 0x1b5c]
mov dword [ebp + 0x1b58], edi
fst dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [ebp + 0x1b68], ecx
fst dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
fxch st(1)
mov dword [ebp + 0x1b6c], edx
fst dword [esp + 0x40]
mov eax, dword [esp + 0x40]
fst dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
fxch st(1)
mov dword [ebp + 0x1b70], eax
mov dword [ebp + 0x1b74], ecx
fst dword [ebp + 0x1b88]
fst dword [ebp + 0x1b84]
mov dword [ebp + 0x1b78], edi
fst dword [ebp + 0x1b80]
mov dword [ebp + 0x1b7c], edi
fst dword [esp + 0x38]
mov edx, dword [esp + 0x38]
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x1b8c], edx
fst dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fstp dword [esp + 0x44]
mov edx, dword [esp + 0x44]
fld1
mov dword [ebp + 0x1b90], eax
mov dword [ebp + 0x1b94], ecx
mov dword [ebp + 0x1b98], edx
cmp byte [ebp + 0x1b19], 0
je 0x10050077
cmp byte [ebp + 0x1b18], 0
je 0x10050077
cmp dword [ebp + 0x1af4], edi
jne 0x10050077
mov ecx, dword [ebp + 0x1aa0]
fld dword [ecx + 0x1f4]
fsub dword [ecx + 0xc]
fstp dword [esp + 0x14]
fld dword [ecx + 0x1f8]
fsub dword [ecx + 0x10]
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fadd st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x20]
fld dword [ecx + 0x1ec]
fsub dword [ecx + 0xc]
fstp dword [esp + 0x28]
fld dword [ecx + 0x1f0]
fsub dword [ecx + 0x10]
fstp dword [esp + 0x2c]
fld dword [esp + 0x28]
fsub st(1)
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
fsub st(1)
mov dword [esp + 0x40], eax
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fld dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x20]
fld dword [ecx + 0x308]
mov dword [esp + 0x44], edx
fcomp st(1)
lea edx, [ecx + 0x308]
fnstsw ax
fld dword [esp + 0x20]
test ah, 1
fld dword [esp + 0x1c]
fld dword [esp + 0x18]
jne 0x1004ff7c
fld dword [edx + 4]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1004ff7c
fld dword [edx + 8]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x1004ff7c
fld dword [edx + 0xc]
fcomp st(3)
fnstsw ax
test ah, 0x41
jnp 0x10050068
mov eax, dword [0x101e25f0]
fstp st(4)
fld dword [eax + 0x18b8]
fmul dword [ecx + 0x26c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul qword [0x1019e130]
fstp dword [esp + 0x1c]
fxch st(1)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fld st(0)
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1004ffc4
fstp dword [esp + 0x14]
jmp 0x1004ffce
fstp st(0)
fxch st(1)
fst dword [esp + 0x14]
fxch st(1)
fld st(3)
fsub st(3)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1004ffe9
fstp st(1)
jmp 0x1004ffeb
fstp st(0)
fstp dword [esp + 0x1c]
lea ecx, [esp + 0x38]
fld dword [esp + 0x1c]
lea esi, [esp + 0x28]
fchs
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x2c]
fld dword [esp + 0x28]
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x2c]
fld dword [esp + 0x3c]
fsub st(1)
fstp dword [esp + 0x3c]
fxch st(2)
faddp st(1)
fstp dword [esp + 0x40]
fadd dword [esp + 0x44]
fstp dword [esp + 0x44]
call fcn.10038bb0
mov ecx, dword [eax]
mov dword [edx], ecx
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
add edx, 8
lea ecx, [esp + 0x40]
lea esi, [esp + 0x28]
call fcn.10038b50
fld1
mov ecx, dword [eax]
mov dword [edx], ecx
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
mov dword [ebp + 0x1aa4], edi
jmp 0x10050070
fstp st(2)
fstp st(2)
fstp st(0)
fstp st(0)
mov byte [ebp + 0x1b18], 0
mov ecx, dword [ebp + 0x1aa0]
cmp ecx, edi
je 0x100500b7
mov edx, dword [ebp + 0x1af4]
shl edx, 4
fld dword [edx + ecx + 0x308]
lea edx, [edx + ecx + 0x308]
fld dword [edx + 8]
fcompp
fnstsw ax
test ah, 5
jnp 0x100500b7
fld dword [edx + 4]
fld dword [edx + 0xc]
fcompp
fnstsw ax
test ah, 5
jnp 0x100500b7
mov eax, edx
jmp 0x100500cd
fldz
lea eax, [esp + 0x28]
fst dword [esp + 0x28]
fst dword [esp + 0x2c]
fst dword [esp + 0x30]
fstp dword [esp + 0x34]
cmp ecx, edi
mov edx, dword [eax]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
je 0x1005013e
fld dword [esp + 0x40]
fadd dword [ecx + 0xc]
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [ecx + 0x10]
fadd dword [esp + 0x44]
fstp dword [esp + 0x20]
fld dword [esp + 0x38]
fadd dword [ecx + 0xc]
fstp dword [esp + 0x28]
fld dword [ecx + 0x10]
mov ecx, dword [esp + 0x28]
fadd dword [esp + 0x3c]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], ecx
lea eax, [esp + 0x38]
jmp 0x1005014b
lea edx, [esp + 0x38]
fstp st(0)
call fcn.1003c270
fld1
mov edx, dword [eax]
fld dword [esp + 0x24]
mov dword [ebp + 0x1ac8], edx
mov ecx, dword [eax + 4]
mov dword [ebp + 0x1acc], ecx
mov edx, dword [eax + 8]
mov dword [ebp + 0x1ad0], edx
mov eax, dword [eax + 0xc]
mov dword [ebp + 0x1ad4], eax
fld dword [ebp + 0x1acc]
fadd st(1)
fstp dword [ebp + 0x1acc]
fadd dword [ebp + 0x1ad4]
fstp dword [ebp + 0x1ad4]
fadd dword [ebp + 0x1ac8]
fstp dword [esp + 0x24]
fld dword [ebp + 0x1ad0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x24]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100501b5
fstp st(0)
jmp 0x100501b7
fstp st(1)
fstp dword [esp + 0x24]
mov dword [ebp + 0x1ad8], edi
fld dword [esp + 0x24]
pop edi
fst dword [ebp + 0x1ac8]
pop esi
fstp dword [ebp + 0x1ad0]
pop ebp
pop ebx
add esp, 0x38
ret