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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0x5034
call fcn.100db4b0
mov eax, dword [ebp + 8]
fld qword [eax]
push ebx
fstp qword [esp + 0x60]
push esi
fld qword [0x1016eeb0]
push edi
fstp qword [esp + 0x3e0]
fld qword [0x1016eea8]
fstp qword [esp + 0x3e8]
fld qword [0x1016eea0]
fstp qword [esp + 0x3f0]
fld qword [0x1016ee98]
fstp qword [esp + 0x3f8]
fld qword [0x1016ee90]
fstp qword [esp + 0x400]
fld qword [0x1016ee88]
fstp qword [esp + 0x408]
fld qword [0x1016ee80]
fstp qword [esp + 0x410]
fld qword [0x1016ee78]
fstp qword [esp + 0x418]
fld qword [0x1016ee70]
fstp qword [esp + 0x420]
fld qword [0x1016ee68]
fstp qword [esp + 0x428]
fld qword [0x1016ee60]
fstp qword [esp + 0x430]
fld qword [0x1016ee58]
fstp qword [esp + 0x438]
fld qword [0x1016ee50]
fstp qword [esp + 0x440]
fld qword [0x1016ee48]
fstp qword [esp + 0x448]
fld qword [0x1016ee40]
fstp qword [esp + 0x450]
fld qword [0x1016ee38]
fstp qword [esp + 0x458]
fld qword [0x1016ee30]
fstp qword [esp + 0x460]
fld qword [0x1016ee28]
fstp qword [esp + 0x468]
fld qword [0x1016ee20]
fstp qword [esp + 0x470]
fld qword [0x1016ee18]
fstp qword [esp + 0x478]
fld qword [0x1016ee10]
fstp qword [esp + 0x480]
fld qword [0x1016ee08]
fstp qword [esp + 0x488]
fld qword [0x1016ee00]
fstp qword [esp + 0x490]
fld qword [0x1016edf8]
fstp qword [esp + 0x498]
fld qword [0x1016edf0]
fstp qword [esp + 0x4a0]
fld qword [0x1016ede8]
fstp qword [esp + 0x4a8]
fld qword [0x1016ede0]
fstp qword [esp + 0x4b0]
fld qword [0x1016edd8]
fstp qword [esp + 0x4b8]
fld qword [0x100dc570]
fst qword [esp + 0x4c0]
fld qword [0x1016ef30]
fstp qword [esp + 0x4c8]
fst qword [esp + 0x4d0]
fld qword [0x1016ef28]
fstp qword [esp + 0x4d8]
fst qword [esp + 0x4e0]
fld qword [0x1016ef20]
fstp qword [esp + 0x4e8]
fst qword [esp + 0x4f0]
fld qword [0x1016ef18]
fstp qword [esp + 0x4f8]
fst qword [esp + 0x500]
fld qword [0x1016ef10]
fstp qword [esp + 0x508]
fstp qword [esp + 0x510]
fld qword [0x1016ef08]
mov ecx, 1
fstp qword [esp + 0x518]
mov edi, 4
fldz
mov dword [esp + 0xe8], ecx
fst qword [esp + 0x520]
mov ebx, 2
fld qword [0x100dc4b8]
mov eax, 3
fstp qword [esp + 0x528]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x168], ecx
mov dword [esp + 0x174], ecx
fstp qword [esp + 0x530]
fld qword [0x100dc4b0]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x18c], ecx
fstp qword [esp + 0x538]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1b0], ecx
mov ecx, 3
mov esi, 5
mov edx, 8
mov dword [esp + 0xf0], eax
mov dword [esp + 0x14c], eax
mov eax, 0x63
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1d4], ecx
mov ecx, 9
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], 0x6a
mov dword [esp + 0x100], 7
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], 9
mov dword [esp + 0x10c], 0xb
mov dword [esp + 0x110], 0xc
mov dword [esp + 0x114], 0xd
mov dword [esp + 0x118], 0xe
mov dword [esp + 0x11c], 0x75
mov dword [esp + 0x120], 0xd9
mov dword [esp + 0x124], 0xce
mov dword [esp + 0x128], 0x10
mov dword [esp + 0x12c], 0x12
mov dword [esp + 0x130], 0x13
mov dword [esp + 0x134], 0x14
mov dword [esp + 0x138], 0xa
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x140], edi
mov dword [esp + 0x144], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], edi
mov dword [esp + 0x160], edi
mov dword [esp + 0x164], 3
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], edi
mov dword [esp + 0x178], esi
mov dword [esp + 0x17c], edi
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], edi
mov dword [esp + 0x190], 6
mov dword [esp + 0x194], esi
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1ac], 6
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], edi
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e0], 3
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], edi
mov dword [esp + 0x1ec], 3
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], 3
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x204], edi
mov dword [esp + 0x208], esi
mov dword [esp + 0x20c], 0xa
mov dword [esp + 0x210], edi
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], edi
mov dword [esp + 0x21c], esi
mov dword [esp + 0x220], 0xb
mov dword [esp + 0x224], 0xa
mov dword [esp + 0x228], esi
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], edi
mov dword [esp + 0x234], esi
mov dword [esp + 0x238], 6
mov dword [esp + 0x23c], 0xb
mov dword [esp + 0x240], esi
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], edi
mov dword [esp + 0x24c], 6
mov dword [esp + 0x250], 7
mov dword [esp + 0x254], 0xb
mov dword [esp + 0x258], 6
mov dword [esp + 0x25c], eax
mov dword [esp + 0x260], edi
mov dword [esp + 0x264], ebx
mov dword [esp + 0x268], edx
mov dword [esp + 0x26c], 0xd
mov dword [esp + 0x270], ebx
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], esi
mov dword [esp + 0x27c], edx
mov dword [esp + 0x280], ecx
mov dword [esp + 0x284], 0
mov dword [esp + 0x288], 0xc
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], edi
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], 0xc
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2a0], ecx
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a8], edi
mov dword [esp + 0x2ac], edx
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x2b4], 0xc
mov dword [esp + 0x2b8], edx
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], esi
mov dword [esp + 0x2c4], 0xe
mov dword [esp + 0x2c8], 0x13
mov dword [esp + 0x2cc], ebx
mov dword [esp + 0x2d0], 0xd
mov dword [esp + 0x2d4], 0xe
mov dword [esp + 0x2d8], edi
mov dword [esp + 0x2dc], 0xffffffed
mov dword [esp + 0x2e0], 0xfffffff2
mov dword [esp + 0x2e4], 7
mov dword [esp + 0x2e8], 0xffffffed
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], esi
mov dword [esp + 0x2f4], 0xf
mov dword [esp + 0x2f8], 0xe
mov dword [esp + 0x2fc], edx
mov dword [esp + 0x300], 0xc
mov dword [esp + 0x304], 0xf
mov dword [esp + 0x308], edi
mov dword [esp + 0x30c], 0xfffffff2
mov dword [esp + 0x310], 0xfffffff1
mov dword [esp + 0x314], 7
mov dword [esp + 0x318], 0xfffffff2
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], esi
mov dword [esp + 0x324], 0x10
mov dword [esp + 0x330], ecx
mov dword [esp + 0x84], ecx
mov ecx, 0x15
mov dword [esp + 0x3c0], edx
mov edx, 0xffffffed
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xe4], ecx
mov ecx, dword [ebp + 0xc]
fld qword [ecx + 0x78]
mov dword [esp + 0x34c], eax
fadd qword [0x100dde50]
mov dword [esp + 0x364], eax
mov dword [esp + 0x394], eax
mov dword [esp + 0x3cc], edx
mov dword [esp + 0x3d8], edx
mov edx, 0x14
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov eax, 6
mov dword [esp + 0x328], 0x11
mov dword [esp + 0x32c], 0xc
mov dword [esp + 0x334], 0x10
mov dword [esp + 0x338], edi
mov dword [esp + 0x33c], 0xffffffef
mov dword [esp + 0x340], 0xfffffff0
mov dword [esp + 0x344], 0xa
mov dword [esp + 0x348], 0xffffffef
mov dword [esp + 0x350], edi
mov dword [esp + 0x354], 0x11
mov dword [esp + 0x358], 0x12
mov dword [esp + 0x35c], 0xc
mov dword [esp + 0x360], 0x11
mov dword [esp + 0x368], esi
mov dword [esp + 0x36c], 0xffffffee
mov dword [esp + 0x370], 0xffffffef
mov dword [esp + 0x374], 0xa
mov dword [esp + 0x378], 0xb
mov dword [esp + 0x37c], 0xffffffee
mov dword [esp + 0x380], edi
mov dword [esp + 0x384], 0x12
mov dword [esp + 0x388], 0xf
mov dword [esp + 0x38c], 0xc
mov dword [esp + 0x390], 0x12
mov dword [esp + 0x398], esi
mov dword [esp + 0x39c], 0xfffffff1
mov dword [esp + 0x3a0], 0xffffffee
mov dword [esp + 0x3a4], 0xb
mov dword [esp + 0x3a8], 7
mov dword [esp + 0x3ac], 0xfffffff1
mov dword [esp + 0x3b0], esi
mov dword [esp + 0x3b4], 0xe
mov dword [esp + 0x3b8], 0x13
mov dword [esp + 0x3bc], ebx
mov dword [esp + 0x3c4], 0xe
mov dword [esp + 0x3c8], edi
mov dword [esp + 0x3d0], 0xfffffff2
mov dword [esp + 0x3d4], 7
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], 0x10
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], 0xa
mov dword [esp + 0xa4], 0xfffffff0
mov dword [esp + 0xa8], 0xffffffec
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 0x13
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0xffffffeb
mov dword [esp + 0xd4], 0xffffffed
mov dword [esp + 0xd8], 7
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ebx
call fcn.100db3f0
test eax, eax
mov dword [esp + 0x5c], eax
jge 0x1009f0c2
xor eax, eax
mov dword [esp + 0x5c], eax
jmp 0x1009f0ec
cmp eax, 0x14
jle 0x1009f0e7
cmp eax, 0x6a
je 0x1009f0ec
cmp eax, 0xce
je 0x1009f0e7
cmp eax, 0x75
je 0x1009f0e7
cmp eax, 0xd9
je 0x1009f0e7
xor eax, eax
mov dword [esp + 0x5c], eax
jmp 0x1009f0ec
cmp eax, 0x6a
ja case.0x1009f0f3.1
movzx edx, byte [eax + 0x100a02b8]
jmp dword [edx*4 + 0x100a02ac]
lea eax, [esp + 0xe8]
mov dword [esp + 0x2c], 0x1d
mov dword [esp + 0x58], 0x16
mov dword [esp + 0x60], eax
jmp 0x1009f142
lea ecx, [esp + 0x5c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x58], 1
mov dword [esp + 0x60], ecx
jmp 0x1009f142
mov eax, 1
lea edx, [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x2c]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
push eax
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esp + 0x4c], eax
jne 0x1009f167
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp dword [esp + 0x58], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
jle 0x100a0117
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ecx, dword [ecx + edx*4]
mov eax, dword [esp + 0x20]
add ecx, 0xffffffff
cmp ecx, 0xd8
ja case.0x1009f1a0.20
movzx ecx, byte [ecx + 0x100a0388]
jmp dword [ecx*4 + 0x100a0324]
xor eax, eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 1
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 3
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 6
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 7
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 8
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 9
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 0xa
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 0xb
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 0xc
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 0xd
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 0xe
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
mov eax, 0xf
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
jmp 0x1009f3a0
xor eax, eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], eax
jmp 0x1009f6e7
mov eax, ebx
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], eax
jmp 0x1009f6e7
mov eax, edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], eax
jmp 0x1009f6e7
mov eax, 6
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], eax
jmp 0x1009f6e7
mov eax, 8
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], eax
jmp 0x1009f6e7
mov eax, 0xa
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], eax
jmp 0x1009f6e7
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0
jmp 0x1009faf4
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
jmp 0x1009faf4
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x1009f6de
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
mov ecx, dword [esp + eax + 0x140]
cmp ecx, 1
mov dword [esp + 0x1c], 0
jle 0x1009f578
lea edx, [esp + eax + 0x148]
add ecx, 0xffffffff
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx - 4]
mov ecx, dword [ecx]
push 0
shl ecx, 4
fld qword [esp + ecx + 0x3ec]
push 0
lea ebx, [esp + ecx + 0x3f0]
lea esi, [esp + 0x78]
push esi
sub esp, 0x30
fstp qword [esp + 0x28]
lea ecx, [esp + ecx + 0x41c]
fld qword [ecx]
shl eax, 4
fstp qword [esp + 0x20]
lea edx, [esp + eax + 0x424]
fld qword [edx]
lea eax, [esp + eax + 0x41c]
fstp qword [esp + 0x18]
mov dword [esp + 0x6c], ecx
fld qword [eax]
mov dword [esp + 0x74], edx
fstp qword [esp + 0x10]
mov dword [esp + 0x90], eax
fldz
fstp qword [esp + 8]
fld qword [esp + 0xa4]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_distance
fld qword [esp + 0x70]
fld qword [esp + 0x68]
fdiv st(1), st(0)
fxch st(1)
fmul qword [0x100dd1e0]
fmul qword [0x100dd2b8]
fadd qword [0x100dc320]
call fcn.100db3f0
fld qword [ebx]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov esi, eax
add esi, 1
push esi
lea eax, [esp + 0x544]
push eax
mov eax, dword [esp + 0x5c]
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [ecx]
fstp qword [esp + 0x20]
fld qword [edx]
fstp qword [esp + 0x18]
fld qword [eax]
fstp qword [esp + 0x10]
fldz
fstp qword [esp + 8]
fstp qword [esp]
call fcn.10093890
add esi, 0xffffffff
add esp, 0x38
xor edx, edx
cmp esi, edi
jl 0x1009f52a
mov ebx, dword [esp + 0x1c]
lea edx, [esi - 4]
shr edx, 2
add edx, 1
mov dword [esp + 0x40], edx
mov ecx, ebx
add edx, edx
shl ecx, 4
add edx, edx
add ebx, edx
lea eax, [esp + ecx + 0x1808]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0x548]
fld qword [ecx - 8]
add eax, 0x40
fstp qword [eax - 0x48]
add ecx, 0x40
sub ebx, 1
fld qword [ecx - 0x40]
fstp qword [eax - 0x40]
fld qword [ecx - 0x38]
fstp qword [eax - 0x38]
fld qword [ecx - 0x30]
fstp qword [eax - 0x30]
fld qword [ecx - 0x28]
fstp qword [eax - 0x28]
fld qword [ecx - 0x20]
fstp qword [eax - 0x20]
fld qword [ecx - 0x18]
fstp qword [eax - 0x18]
fld qword [ecx - 0x10]
fstp qword [eax - 0x10]
jne 0x1009f4ef
cmp edx, esi
jge 0x1009f569
mov ebx, dword [esp + 0x1c]
mov eax, ebx
mov ecx, edx
shl eax, 4
shl ecx, 4
sub esi, edx
add ebx, esi
lea eax, [esp + eax + 0x1808]
lea ecx, [esp + ecx + 0x548]
mov dword [esp + 0x1c], ebx
fld qword [ecx - 8]
add eax, 0x10
fstp qword [eax - 0x18]
add ecx, 0x10
sub esi, 1
fld qword [ecx - 0x10]
fstp qword [eax - 0x10]
jne 0x1009f552
add dword [esp + 0x48], edi
sub dword [esp + 0x44], 1
jne 0x1009f3d3
mov ebx, dword [esp + 0x1c]
fld qword [esp + 0x1800]
mov ecx, dword [esp + 0x2c]
mov eax, ebx
shl eax, 4
fstp qword [esp + eax + 0x1800]
add ebx, 1
fld qword [esp + 0x1808]
mov dword [esp + 0x1c], ebx
fstp qword [esp + eax + 0x1808]
mov eax, dword [esp + 0x3c]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x4c]
lea esi, [eax + edx*8]
mov edx, ebx
mov eax, 1
shl edx, 4
push edx
mov dword [esi], ecx
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], ebx
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esi + 0x14], eax
je 0x100a00ce
xor ecx, ecx
cmp ebx, edi
jl 0x1009f6a6
lea eax, [esp + 0x1808]
mov edi, 0x20
sub edi, eax
lea edx, [esp + 0x1808]
mov eax, 0x30
sub eax, edx
lea edx, [ebx - 4]
shr edx, 2
add edx, 1
mov dword [esp + 0x28], eax
lea eax, [edx*4]
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], eax
jmp 0x1009f634
mov edi, dword [esp + 0x38]
mov ebx, dword [esi + 0x14]
fld qword [esp + ecx + 0x1800]
fstp qword [ecx + ebx]
mov ebx, dword [esi + 0x14]
fld qword [esp + ecx + 0x1808]
lea eax, [esp + ecx + 0x1808]
fstp qword [ebx + ecx + 8]
mov ebx, dword [esi + 0x14]
fld qword [eax + 8]
add ecx, 0x40
fstp qword [ebx + ecx - 0x30]
mov ebx, dword [esi + 0x14]
fld qword [eax + 0x10]
fstp qword [ebx + ecx - 0x28]
mov ebx, dword [esi + 0x14]
fld qword [eax + 0x18]
add ebx, edi
fstp qword [ebx + eax]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x20]
fstp qword [edi + ecx - 0x18]
mov edi, dword [esi + 0x14]
add edi, dword [esp + 0x28]
fld qword [eax + 0x28]
sub edx, 1
fstp qword [edi + eax]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x30]
fstp qword [edi + ecx - 8]
jne 0x1009f630
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
jge 0x1009f6d4
mov eax, ecx
shl eax, 4
sub ebx, ecx
mov ecx, dword [esi + 0x14]
fld qword [esp + eax + 0x1800]
fstp qword [eax + ecx]
mov edx, dword [esi + 0x14]
fld qword [esp + eax + 0x1808]
add eax, 0x10
sub ebx, 1
fstp qword [eax + edx - 8]
jne 0x1009f6b1
add dword [esp + 0x3c], 1
jmp 0x100a00ad
cmp ecx, 1
jne 0x1009faec
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*2]
lea esi, [edx + ecx*8 + 8]
lea ecx, [esp + eax*8 + 0x2c8]
mov dword [esp + 0x50], 0
mov dword [esp + 0x34], ecx
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx - 8]
cmp eax, 1
mov dword [esp + 0x1c], 0
jle 0x1009f977
mov ecx, edx
add eax, 0xffffffff
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax - 4]
test ecx, ecx
mov eax, dword [eax]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x48], eax
jge 0x1009f74c
neg ecx
test eax, eax
jge 0x1009f752
neg eax
push 0
shl eax, 4
fld qword [esp + eax + 0x3ec]
push 0
lea ebx, [esp + eax + 0x3f0]
lea edi, [esp + 0x78]
push edi
sub esp, 0x30
fstp qword [esp + 0x28]
lea eax, [esp + eax + 0x41c]
fld qword [eax]
shl ecx, 4
fstp qword [esp + 0x20]
lea edx, [esp + ecx + 0x424]
fld qword [edx]
lea ecx, [esp + ecx + 0x41c]
fstp qword [esp + 0x18]
mov dword [esp + 0x6c], eax
fld qword [ecx]
mov dword [esp + 0x74], edx
fstp qword [esp + 0x10]
mov dword [esp + 0x90], ecx
fldz
fstp qword [esp + 8]
fld qword [esp + 0xa4]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_distance
fld qword [esp + 0x70]
fld qword [esp + 0x68]
fdiv st(1), st(0)
fxch st(1)
fmul qword [0x100dd1e0]
fmul qword [0x100dd2b8]
fadd qword [0x100dc320]
call fcn.100db3f0
fld qword [ebx]
mov ecx, dword [esp + 0x38]
mov edi, eax
mov eax, dword [esp + 0x30]
add edi, 1
push edi
lea edx, [esp + 0x544]
push edx
mov edx, dword [esp + 0x5c]
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [eax]
fstp qword [esp + 0x20]
fld qword [ecx]
fstp qword [esp + 0x18]
fld qword [edx]
fstp qword [esp + 0x10]
fldz
fstp qword [esp + 8]
fstp qword [esp]
call fcn.10093890
mov edx, dword [esp + 0x60]
add esp, 0x38
test edx, edx
jge 0x1009f838
mov eax, edx
neg eax
jmp 0x1009f83c
mov eax, dword [esp + 0x28]
cmp eax, 0xd
jle 0x1009f883
mov eax, dword [esp + 0x48]
test eax, eax
jge 0x1009f84b
neg eax
cmp eax, 0xd
jle 0x1009f883
test edi, edi
jle 0x1009f8a9
fld qword [0x100dc568]
lea eax, [esp + 0x540]
fld qword [0x100dc570]
mov ecx, edi
test edx, edx
jl 0x1009f871
fld st(0)
jmp 0x1009f873
fld st(1)
fstp qword [eax]
add eax, 0x10
sub ecx, 1
jne 0x1009f869
fstp st(1)
fstp st(0)
jmp 0x1009f8a9
test edx, edx
mov eax, edx
jge 0x1009f88b
neg eax
cmp eax, 0xd
jle 0x1009f8a9
test edx, edx
jl 0x1009f89c
fld qword [0x100dc570]
jmp 0x1009f8a2
fld qword [0x100dc568]
fstp qword [esp + 0x540]
lea edx, [edi - 1]
xor ebx, ebx
cmp edx, 4
mov dword [esp + 0x54], edx
jl 0x1009f925
mov ebx, dword [esp + 0x1c]
add edx, 0xfffffffc
shr edx, 2
mov eax, ebx
add edx, 1
lea edi, [edx*4]
shl eax, 4
add ebx, edi
mov dword [esp + 0x1c], ebx
lea eax, [esp + eax + 0x1808]
lea ecx, [esp + 0x548]
mov ebx, edi
fld qword [ecx - 8]
add eax, 0x40
fstp qword [eax - 0x48]
add ecx, 0x40
sub edx, 1
fld qword [ecx - 0x40]
fstp qword [eax - 0x40]
fld qword [ecx - 0x38]
fstp qword [eax - 0x38]
fld qword [ecx - 0x30]
fstp qword [eax - 0x30]
fld qword [ecx - 0x28]
fstp qword [eax - 0x28]
fld qword [ecx - 0x20]
fstp qword [eax - 0x20]
fld qword [ecx - 0x18]
fstp qword [eax - 0x18]
fld qword [ecx - 0x10]
fstp qword [eax - 0x10]
jne 0x1009f8e6
mov edx, dword [esp + 0x54]
cmp ebx, edx
jge 0x1009f967
mov edi, dword [esp + 0x1c]
mov ecx, edi
shl ecx, 4
lea eax, [esp + ecx + 0x1808]
mov ecx, ebx
shl ecx, 4
sub edx, ebx
add edi, edx
lea ecx, [esp + ecx + 0x548]
mov dword [esp + 0x1c], edi
lea ecx, [ecx]
fld qword [ecx - 8]
add eax, 0x10
fstp qword [eax - 0x18]
add ecx, 0x10
sub edx, 1
fld qword [ecx - 0x10]
fstp qword [eax - 0x10]
jne 0x1009f950
add dword [esp + 0x44], 4
sub dword [esp + 0x40], 1
jne 0x1009f735
mov edi, dword [esp + 0x1c]
fld qword [esp + 0x1800]
mov edx, dword [esp + 0x2c]
mov eax, edi
shl eax, 4
fstp qword [esp + eax + 0x1800]
add edi, 1
fld qword [esp + 0x1808]
mov dword [esp + 0x1c], edi
fstp qword [esp + eax + 0x1808]
mov eax, edi
shl eax, 4
push eax
mov dword [esi - 8], edx
mov dword [esi - 4], 1
mov dword [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], edi
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esi + 0xc], eax
je 0x100a00ce
xor ecx, ecx
cmp edi, 4
jl 0x1009fa98
lea edx, [esp + 0x1808]
mov ebx, 0x20
sub ebx, edx
mov eax, 0x30
sub eax, edx
lea edx, [edi - 4]
shr edx, 2
add edx, 1
mov dword [esp + 0x28], eax
lea eax, [edx*4]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], eax
jmp 0x1009fa24
mov ebx, dword [esp + 0x38]
mov edi, dword [esi + 0xc]
fld qword [esp + ecx + 0x1800]
fstp qword [ecx + edi]
mov edi, dword [esi + 0xc]
fld qword [esp + ecx + 0x1808]
lea eax, [esp + ecx + 0x1808]
fstp qword [ecx + edi + 8]
mov edi, dword [esi + 0xc]
fld qword [eax + 8]
add ebx, eax
fstp qword [ecx + edi + 0x10]
mov edi, dword [esi + 0xc]
fld qword [eax + 0x10]
add ecx, 0x40
fstp qword [ecx + edi - 0x28]
mov edi, dword [esi + 0xc]
fld qword [eax + 0x18]
fstp qword [ebx + edi]
mov edi, dword [esi + 0xc]
fld qword [eax + 0x20]
fstp qword [ecx + edi - 0x18]
mov edi, dword [esp + 0x28]
mov ebx, dword [esi + 0xc]
fld qword [eax + 0x28]
add edi, eax
sub edx, 1
fstp qword [edi + ebx]
mov edi, dword [esi + 0xc]
fld qword [eax + 0x30]
fstp qword [ecx + edi - 8]
jne 0x1009fa20
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp ecx, edi
jge 0x1009fac6
mov eax, ecx
shl eax, 4
sub edi, ecx
mov ecx, dword [esi + 0xc]
fld qword [esp + eax + 0x1800]
fstp qword [eax + ecx]
mov edx, dword [esi + 0xc]
fld qword [esp + eax + 0x1808]
add eax, 0x10
sub edi, 1
fstp qword [eax + edx - 8]
jne 0x1009faa3
mov eax, dword [esp + 0x50]
add dword [esp + 0x3c], 1
add dword [esp + 0x34], 0x18
add eax, 1
add esi, 0x18
cmp eax, 2
mov dword [esp + 0x50], eax
jl 0x1009f710
jmp 0x100a00ad
cmp ecx, ebx
jne 0x100a00ad
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
add ecx, eax
lea eax, [ecx*8]
sub eax, ecx
add eax, eax
add eax, eax
mov ecx, dword [esp + eax + 0x78]
cmp ecx, 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x30], 1
jle 0x1009ff1d
lea edx, [esp + eax + 0x80]
mov dword [esp + 0x28], edx
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 4]
test ecx, ecx
mov eax, dword [eax]
mov dword [esp + 0x48], eax
jge 0x1009fb53
neg ecx
test eax, eax
jge 0x1009fb59
neg eax
shl eax, 4
fld qword [esp + eax + 0x3e8]
shl ecx, 4
push 0
lea ebx, [esp + eax + 0x3ec]
lea esi, [esp + eax + 0x3e4]
lea eax, [esp + ecx + 0x3ec]
lea edi, [esp + ecx + 0x3e4]
push 0
lea ecx, [esp + 0x78]
push ecx
sub esp, 0x30
fstp qword [esp + 0x28]
mov dword [esp + 0x74], eax
fld qword [esi]
fstp qword [esp + 0x20]
fld qword [eax]
fstp qword [esp + 0x18]
fld qword [edi]
fstp qword [esp + 0x10]
fldz
fstp qword [esp + 8]
fld qword [esp + 0xa4]
fstp qword [esp]
call sym.pe.dll_pe_geodesic_distance
fld qword [esp + 0x70]
fld qword [esp + 0x68]
fdiv st(1), st(0)
fxch st(1)
fmul qword [0x100dd1e0]
fmul qword [0x100dd2b8]
fadd qword [0x100dc320]
call fcn.100db3f0
fld qword [ebx]
add eax, 1
push eax
lea edx, [esp + 0x544]
push edx
sub esp, 0x30
fstp qword [esp + 0x28]
mov dword [esp + 0x6c], eax
fld qword [esi]
mov eax, dword [esp + 0x70]
fstp qword [esp + 0x20]
fld qword [eax]
fstp qword [esp + 0x18]
fld qword [edi]
fstp qword [esp + 0x10]
fldz
fstp qword [esp + 8]
fstp qword [esp]
call fcn.10093890
mov ecx, dword [esp + 0x60]
add esp, 0x38
cmp dword [ecx - 4], 0
jge 0x1009fc33
mov edx, ecx
mov eax, dword [edx - 4]
neg eax
jmp 0x1009fc3a
mov eax, dword [esp + 0x28]
mov eax, dword [eax - 4]
cmp eax, 0x13
mov ebx, dword [esp + 0x48]
jle 0x1009fc8e
test ebx, ebx
mov eax, ebx
jge 0x1009fc4b
neg eax
cmp eax, 0xd
jle 0x1009fc8e
mov edx, dword [esp + 0x34]
test edx, edx
jle 0x1009fe19
fld qword [0x100dc568]
lea eax, [esp + 0x540]
fld qword [0x100dc570]
mov ecx, edx
test ebx, ebx
jl 0x1009fc79
fld st(0)
jmp 0x1009fc7b
fld st(1)
fstp qword [eax]
add eax, 0x10
sub ecx, 1
jne 0x1009fc71
fstp st(1)
fstp st(0)
jmp 0x1009fe19
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx - 4]
test eax, eax
mov ecx, eax
jge 0x1009fc9d
neg ecx
cmp ecx, 0x13
jle 0x1009fd17
test ebx, ebx
mov ecx, ebx
jge 0x1009fcaa
neg ecx
cmp ecx, 0xe
jge 0x1009fd17
mov edx, dword [esp + 0x34]
xor edi, edi
cmp edx, 4
jl 0x1009fced
lea ecx, [edx - 4]
shr ecx, 2
add ecx, 1
lea eax, [esp + 0x550]
lea edi, [ecx*4]
fld qword [esi]
add eax, 0x40
sub ecx, 1
fstp qword [eax - 0x50]
fld qword [esi]
fstp qword [eax - 0x40]
fld qword [esi]
fstp qword [eax - 0x30]
fld qword [esi]
fstp qword [eax - 0x20]
jne 0x1009fcd1
cmp edi, edx
jge 0x1009fe19
mov eax, edi
shl eax, 4
mov ecx, edx
lea eax, [esp + eax + 0x540]
sub ecx, edi
fld qword [esi]
add eax, 0x10
sub ecx, 1
fstp qword [eax - 0x10]
jne 0x1009fd05
jmp 0x1009fe19
test eax, eax
mov ecx, eax
jge 0x1009fd1f
neg ecx
cmp ecx, 0xd
jle 0x1009fd6f
test ebx, ebx
mov ecx, ebx
jge 0x1009fd2c
neg ecx
cmp ecx, 0x13
jle 0x1009fd6f
mov edx, dword [esp + 0x34]
test edx, edx
jle 0x1009fe19
fld qword [0x100dc568]
lea eax, [esp + 0x540]
fld qword [0x100dc570]
mov ecx, edx
test ebx, ebx
jl 0x1009fd5a
fld st(0)
jmp 0x1009fd5c
fld st(1)
fstp qword [eax]
add eax, 0x10
sub ecx, 1
jne 0x1009fd52
fstp st(1)
fstp st(0)
jmp 0x1009fe19
test eax, eax
mov ecx, eax
jge 0x1009fd77
neg ecx
cmp ecx, 0xe
jge 0x1009fdef
test ebx, ebx
jge 0x1009fd82
neg ebx
mov ecx, ebx
cmp ecx, 0x13
jle 0x1009fdef
mov edx, dword [esp + 0x34]
xor esi, esi
cmp edx, 4
jl 0x1009fdcc
lea ecx, [edx - 4]
shr ecx, 2
add ecx, 1
lea eax, [esp + 0x550]
lea esi, [ecx*4]
jmp 0x1009fdb0
fld qword [edi]
add eax, 0x40
sub ecx, 1
fstp qword [eax - 0x50]
fld qword [edi]
fstp qword [eax - 0x40]
fld qword [edi]
fstp qword [eax - 0x30]
fld qword [edi]
fstp qword [eax - 0x20]
jne 0x1009fdb0
cmp esi, edx
jge 0x1009fe19
mov ecx, esi
shl ecx, 4
lea eax, [esp + ecx + 0x540]
mov ecx, edx
sub ecx, esi
fld qword [edi]
add eax, 0x10
sub ecx, 1
fstp qword [eax - 0x10]
jne 0x1009fde0
jmp 0x1009fe19
test eax, eax
mov ecx, eax
jge 0x1009fdf7
neg ecx
cmp ecx, 0xd
mov edx, dword [esp + 0x34]
jle 0x1009fe19
test eax, eax
jl 0x1009fe0c
fld qword [0x100dc570]
jmp 0x1009fe12
fld qword [0x100dc568]
fstp qword [esp + 0x540]
mov edi, dword [esp + 0x30]
xor eax, eax
cmp edi, 1
sete al
mov esi, eax
mov eax, dword [esp + 0x44]
add eax, 0xffffffff
cmp edi, eax
je 0x1009fe35
add edx, 0xffffffff
mov ecx, edx
sub ecx, esi
cmp ecx, 4
mov dword [esp + 0x40], edx
jl 0x1009fec3
mov ebx, dword [esp + 0x1c]
sub edx, esi
sub edx, 4
shr edx, 2
add edx, 1
mov eax, ebx
mov ecx, esi
lea edi, [edx*4]
shl eax, 4
shl ecx, 4
add ebx, edi
lea eax, [esp + eax + 0x1808]
lea ecx, [esp + ecx + 0x548]
mov dword [esp + 0x1c], ebx
add esi, edi
lea esp, [esp]
fld qword [ecx - 8]
add eax, 0x40
fstp qword [eax - 0x48]
add ecx, 0x40
sub edx, 1
fld qword [ecx - 0x40]
fstp qword [eax - 0x40]
fld qword [ecx - 0x38]
fstp qword [eax - 0x38]
fld qword [ecx - 0x30]
fstp qword [eax - 0x30]
fld qword [ecx - 0x28]
fstp qword [eax - 0x28]
fld qword [ecx - 0x20]
fstp qword [eax - 0x20]
fld qword [ecx - 0x18]
fstp qword [eax - 0x18]
fld qword [ecx - 0x10]
fstp qword [eax - 0x10]
jne 0x1009fe80
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x30]
cmp esi, edx
jge 0x1009ff07
mov ebx, dword [esp + 0x1c]
mov eax, ebx
mov ecx, esi
shl eax, 4
shl ecx, 4
sub edx, esi
add ebx, edx
lea eax, [esp + eax + 0x1808]
lea ecx, [esp + ecx + 0x548]
mov dword [esp + 0x1c], ebx
jmp 0x1009fef0
fld qword [ecx - 8]
add eax, 0x10
fstp qword [eax - 0x18]
add ecx, 0x10
sub edx, 1
fld qword [ecx - 0x10]
fstp qword [eax - 0x10]
jne 0x1009fef0
add dword [esp + 0x28], 4
add edi, 1
cmp edi, dword [esp + 0x44]
mov dword [esp + 0x30], edi
jl 0x1009fb40
mov ecx, dword [esp + 0x1c]
fld qword [esp + 0x1800]
mov eax, ecx
shl eax, 4
fstp qword [esp + eax + 0x1800]
lea eax, [esp + eax + 0x1808]
fld qword [eax - 0x10]
mov edx, 1
fstp qword [eax]
add ecx, edx
fld qword [esp + 0x1800]
mov eax, ecx
shl eax, 4
fstp qword [esp + eax + 0x1800]
lea edi, [ecx + 1]
fld qword [esp + 0x1808]
mov ecx, dword [esp + 0x4c]
fstp qword [esp + eax + 0x1808]
mov eax, dword [esp + 0x3c]
lea eax, [eax + eax*2]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x2c]
mov ecx, edi
shl ecx, 4
push ecx
mov dword [esp + 0x20], edi
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], edi
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esi + 0x14], eax
je 0x100a00ce
xor ecx, ecx
cmp edi, 4
jl 0x100a0066
lea edx, [esp + 0x1808]
mov ebx, 0x20
sub ebx, edx
mov eax, 0x30
sub eax, edx
lea edx, [edi - 4]
shr edx, 2
add edx, 1
mov dword [esp + 0x28], eax
lea eax, [edx*4]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], eax
jmp 0x1009fff4
mov ebx, dword [esp + 0x38]
mov edi, dword [esi + 0x14]
fld qword [esp + ecx + 0x1800]
fstp qword [ecx + edi]
mov edi, dword [esi + 0x14]
fld qword [esp + ecx + 0x1808]
lea eax, [esp + ecx + 0x1808]
fstp qword [ecx + edi + 8]
mov edi, dword [esi + 0x14]
fld qword [eax + 8]
add ecx, 0x40
fstp qword [ecx + edi - 0x30]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x10]
fstp qword [ecx + edi - 0x28]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x18]
add edi, ebx
fstp qword [edi + eax]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x20]
fstp qword [ecx + edi - 0x18]
mov edi, dword [esi + 0x14]
add edi, dword [esp + 0x28]
fld qword [eax + 0x28]
sub edx, 1
fstp qword [edi + eax]
mov edi, dword [esi + 0x14]
fld qword [eax + 0x30]
fstp qword [ecx + edi - 8]
jne 0x1009fff0
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp ecx, edi
jge 0x100a0094
mov eax, ecx
shl eax, 4
sub edi, ecx
mov ecx, dword [esi + 0x14]
fld qword [esp + eax + 0x1800]
fstp qword [eax + ecx]
mov edx, dword [esi + 0x14]
fld qword [esp + eax + 0x1808]
add eax, 0x10
sub edi, 1
fstp qword [edx + eax - 8]
jne 0x100a0071
mov eax, dword [esp + 0x50]
add dword [esp + 0x3c], 1
add eax, 1
cmp eax, 2
mov dword [esp + 0x50], eax
jl 0x1009fafc
mov eax, dword [esp + 0x64]
add eax, 1
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x64], eax
jge 0x100a0117
mov edi, 4
lea esi, [edi + 1]
lea ebx, [edi - 2]
jmp 0x1009f17b
mov esi, dword [esp + 0x3c]
add esi, 0xffffffff
js 0x100a00f7
mov ecx, dword [esp + 0x4c]
lea eax, [esi + esi*2]
lea edi, [ecx + eax*8 + 0x14]
mov edx, dword [edi]
push edx
call fcn.100b8f00
sub esi, 1
add esp, 4
sub edi, 0x18
test esi, esi
jge 0x100a00e2
mov eax, dword [esp + 0x4c]
push eax
call fcn.100b8f00
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x100a029f
mov ecx, dword [esp + 0x4c]
fldz
add ecx, 0xc
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
xor bl, bl
xor edi, edi
cmp eax, 4
mov byte [esp + 0x1b], bl
mov dword [esp + 0x1c], eax
jl 0x100a0220
xor esi, esi
test bl, bl
je 0x100a0161
cmp byte [esp + 0x1b], 0
jne 0x100a0269
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
fcom qword [ecx + esi]
fnstsw ax
test ah, 5
jp 0x100a0176
mov bl, 1
jmp 0x100a0189
fcom qword [ecx + esi]
fnstsw ax
test ah, 0x41
jne 0x100a0185
mov byte [esp + 0x1b], 1
test bl, bl
je 0x100a0194
cmp byte [esp + 0x1b], 0
jne 0x100a0269
fcom qword [ecx + esi + 0x10]
fnstsw ax
test ah, 5
jp 0x100a01a3
mov bl, 1
jmp 0x100a01b7
fcom qword [ecx + esi + 0x10]
fnstsw ax
test ah, 0x41
jne 0x100a01b3
mov byte [esp + 0x1b], 1
test bl, bl
je 0x100a01c2
cmp byte [esp + 0x1b], 0
jne 0x100a0269
fcom qword [ecx + esi + 0x20]
fnstsw ax
test ah, 5
jp 0x100a01d1
mov bl, 1
jmp 0x100a01e5
fcom qword [ecx + esi + 0x20]
fnstsw ax
test ah, 0x41
jne 0x100a01e1
mov byte [esp + 0x1b], 1
test bl, bl
je 0x100a01ec
cmp byte [esp + 0x1b], 0
jne 0x100a0269
fcom qword [ecx + esi + 0x30]
fnstsw ax
test ah, 5
jp 0x100a01fb
mov bl, 1
jmp 0x100a020b
fcom qword [ecx + esi + 0x30]
fnstsw ax
test ah, 0x41
jne 0x100a020b
mov byte [esp + 0x1b], 1
mov ecx, dword [esp + 0x1c]
add edi, 4
add ecx, 0xfffffffd
add esi, 0x40
cmp edi, ecx
jl 0x100a0152
cmp edi, dword [esp + 0x1c]
jge 0x100a0269
mov esi, dword [esp + 0x1c]
mov edx, edi
shl edx, 4
test bl, bl
je 0x100a023a
cmp byte [esp + 0x1b], 0
jne 0x100a0269
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
fcom qword [ecx + edx]
add ecx, edx
fnstsw ax
test ah, 5
jp 0x100a0251
mov bl, 1
jmp 0x100a025f
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x100a025f
mov byte [esp + 0x1b], 1
add edi, 1
add edx, 0x10
cmp edi, esi
jl 0x100a022f
test bl, bl
je 0x100a0280
cmp byte [esp + 0x1b], 0
je 0x100a0280
mov edx, dword [esp + 0x2c]
mov dword [edx], 3
jmp 0x100a028d
mov eax, dword [esp + 0x2c]
neg bl
sbb ebx, ebx
add ebx, 2
mov dword [eax], ebx
add dword [esp + 0x2c], 0x18
sub dword [esp + 0x40], 1
jne 0x100a0134
fstp st(0)
mov eax, dword [esp + 0x4c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret