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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa8
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov ecx, dword [0x10fcccac]
mov eax, dword [ecx]
push 1
push str.Creating
call dword [eax + 0xc]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x34]
xor ebp, ebp
xor ebx, ebx
cmp eax, ebp
jle 0x10b77285
jmp 0x10b771f0
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
push str.Clearing_existing_paths
push eax
push ebx
push ecx
call dword [edx + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax + 0x30]
mov edi, dword [ecx + ebx*4]
add esp, 0x10
cmp edi, ebp
je 0x10b77277
mov eax, dword [edi + 0x6c]
test ah, 0x10
jne 0x10b77277
mov ecx, dword [0x110b8fc8]
cmp ecx, ebp
jne 0x10b77241
push 0x10e44b40
call fcn.10a46290
add esp, 4
mov dword [0x110b8fc8], eax
call fcn.10a49510
mov ecx, dword [0x110b8fc8]
mov eax, dword [edi + 0x28]
cmp eax, ebp
je 0x10b77253
cmp eax, ecx
je 0x10b7725e
mov eax, dword [eax + 0x2c]
cmp eax, ebp
jne 0x10b77248
xor eax, eax
cmp ecx, ebp
sete al
cmp eax, ebp
je 0x10b77277
mov eax, dword [edi + 0x380]
and eax, 0xfffffffe
mov dword [edi + 0x3b0], 1
mov dword [edi + 0x380], eax
mov edx, dword [esi]
mov eax, dword [edx + 0x34]
inc ebx
cmp ebx, eax
jl 0x10b771f0
mov eax, dword [esi]
mov eax, dword [eax + 0x34]
xor ebx, ebx
cmp eax, ebp
jle 0x10b773d0
jmp 0x10b772a0
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
push str.Building_Paths
push eax
push ebx
push ecx
call dword [edx + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax + 0x30]
mov edi, dword [ecx + ebx*4]
add esp, 0x10
cmp edi, ebp
je 0x10b773c2
mov ecx, dword [0x110b8ff4]
cmp ecx, ebp
jne 0x10b772ed
push 0x10e44b40
call fcn.10a46ad0
add esp, 4
mov dword [0x110b8ff4], eax
call fcn.10a51960
mov ecx, dword [0x110b8ff4]
mov eax, dword [edi + 0x28]
cmp eax, ebp
je 0x10b772ff
cmp eax, ecx
je 0x10b7734e
mov eax, dword [eax + 0x2c]
cmp eax, ebp
jne 0x10b772f4
xor eax, eax
cmp ecx, ebp
sete al
cmp eax, ebp
jne 0x10b7734e
mov ecx, dword [0x110b8fe8]
cmp ecx, ebp
jne 0x10b77331
push 0x10e44b40
call fcn.10a46890
add esp, 4
mov dword [0x110b8fe8], eax
call fcn.10a51850
mov ecx, dword [0x110b8fe8]
mov eax, dword [edi + 0x28]
cmp eax, ebp
je 0x10b77343
cmp eax, ecx
je 0x10b7734e
mov eax, dword [eax + 0x2c]
cmp eax, ebp
jne 0x10b77338
xor eax, eax
cmp ecx, ebp
sete al
cmp eax, ebp
je 0x10b773c2
mov edx, dword [edi + 0x24]
mov eax, dword [0x110a36dc]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x10f43370]
add ecx, 0xc
push ecx
push str.______________________Starting_From__s
push edx
call fcn.109baf50
mov al, byte [edi + 0x380]
add esp, 0xc
test al, 1
jne 0x10b7739f
add edi, 0x148
mov ecx, dword [edi]
mov edx, dword [edi + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.10b770c0
jmp 0x10b773c2
mov edx, dword [edi + 0x24]
mov eax, dword [0x110a36dc]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x10f43370]
add ecx, 0xc
push ecx
push str._s_already_visited_
push edx
call fcn.109baf50
add esp, 0xc
mov eax, dword [esi]
mov eax, dword [eax + 0x34]
inc ebx
cmp ebx, eax
jl 0x10b772a0
mov ecx, dword [esi + 4]
push 0x42a00000
push 0x425c0000
call fcn.10a3c310
mov ecx, dword [esi]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], 0x3f800000
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0xa8], ebp
mov eax, dword [ecx + 0x34]
cmp eax, ebp
mov dword [esp + 0x24], ebp
jle 0x10b77adf
mov ecx, dword [0x10fcccac]
mov edi, dword [esp + 0x24]
mov edx, dword [ecx]
push str.Merging_Paths
push eax
push edi
push ecx
call dword [edx + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax + 0x30]
mov ebx, dword [ecx + edi*4]
add esp, 0x10
test ebx, ebx
je 0x10b77ac9
mov eax, dword [ebx + 0x6c]
test ah, 0x10
jne 0x10b77ac9
mov eax, dword [ebx + 0x380]
test ah, 8
je 0x10b77ac9
mov ecx, dword [0x110b8fc8]
test ecx, ecx
jne 0x10b774d0
push 0x10e44b40
call fcn.10a46290
add esp, 4
mov dword [0x110b8fc8], eax
call fcn.10a49510
mov ecx, dword [0x110b8fc8]
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x10b774e2
cmp eax, ecx
je 0x10b774f1
mov eax, dword [eax + 0x2c]
test eax, eax
jne 0x10b774d7
xor eax, eax
test ecx, ecx
sete al
test eax, eax
je 0x10b77ac9
mov eax, dword [esi]
mov ecx, dword [eax + 0x34]
test ecx, ecx
mov dword [esp + 0x1c], 0
jle 0x10b77ac9
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x1c]
mov eax, dword [edx + eax*4]
push eax
push ebx
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.10b73a50
test eax, eax
je 0x10b77ab3
mov edi, dword [esp + 0x14]
fld dword [ebx + 0x148]
fsub dword [edi + 0x148]
lea ebp, [ebx + 0x148]
fld dword [ebp + 4]
add edi, 0x148
fsub dword [edi + 4]
fld dword [ebp + 8]
fsub dword [edi + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fcomp dword [0x10e90624]
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 5
fstp st(0)
jp 0x10b77ab3
mov eax, dword [esp + 0x14]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x1d0]
test eax, eax
jne 0x10b77ab3
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov eax, dword [esi]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
push 0x86
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
push edi
push ebp
mov dword [eax + 8], ecx
mov ecx, dword [esi]
push ebx
lea eax, [esp + 0x98]
push eax
call dword [edx + 0xdc]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10b77ab3
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x24]
mov eax, dword [0x110a36dc]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebx + 0x24]
mov eax, dword [eax + edx*4]
add ecx, 0xc
push ecx
mov ecx, dword [0x10f43370]
add eax, 0xc
push eax
push str.Found_potential_merge_pair__s_and__s
push ecx
call fcn.109baf50
add esp, 4
mov edx, edi
mov ecx, dword [edx]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
sub esp, 0xc
mov eax, ebp
mov edx, dword [eax]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.10b73230
test eax, eax
je 0x10b77ab3
fld dword [ebp]
mov eax, dword [esi]
fadd dword [edi]
xor ecx, ecx
fld dword [edi + 4]
mov dword [esp + 0x18], ecx
fadd dword [ebp + 4]
mov dword [esp + 0x20], ecx
fld dword [edi + 8]
fadd dword [ebp + 8]
fstp dword [esp + 0xb4]
fxch st(1)
fmul dword [0x10e4708c]
fstp dword [esp + 0x54]
fmul dword [0x10e4708c]
fstp dword [esp + 0x58]
fld dword [esp + 0xb4]
fmul dword [0x10e4708c]
fstp dword [esp + 0x5c]
mov edx, dword [eax + 0x34]
cmp edx, ecx
jle 0x10b779bc
lea esp, [esp]
mov ecx, dword [eax + 0x30]
mov edx, dword [esp + 0x20]
mov edi, dword [ecx + edx*4]
push edi
push ebx
mov ecx, esi
call fcn.10b73a50
test eax, eax
je 0x10b779a6
cmp edi, dword [esp + 0x14]
je 0x10b779a6
fld dword [ebp]
add edi, 0x148
fsub dword [edi]
fld dword [ebp + 4]
fsub dword [edi + 4]
fld dword [ebp + 8]
fsub dword [edi + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fcomp dword [0x10e908c8]
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 5
fstp st(0)
jp 0x10b779a6
mov eax, dword [esp + 0x14]
fld dword [eax + 0x148]
add eax, 0x148
fsub dword [edi]
fld dword [eax + 4]
fsub dword [edi + 4]
fld dword [eax + 8]
fsub dword [edi + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fcomp dword [0x10e908c8]
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 5
fstp st(0)
jp 0x10b779a6
mov ecx, dword [esi + 4]
push 0x42a00000
push 0x425c0000
call fcn.10a3c310
mov eax, dword [esi]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x54], 0
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
push 0x86
mov dword [esp + 0x5c], 0
mov edx, dword [esp + 0x5c]
mov dword [ecx + 4], edx
push edi
mov dword [esp + 0x64], 0
mov edx, dword [esp + 0x64]
push ebp
mov dword [ecx + 8], edx
push ebx
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi]
call dword [eax + 0xdc]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10b779a6
sub esp, 0xc
mov edx, edi
mov ecx, dword [edx]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
sub esp, 0xc
mov eax, ebp
mov edx, dword [eax]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.10b73230
test eax, eax
jne 0x10b7783d
mov ecx, dword [esi + 4]
push 0x42a00000
push 0x42400000
call fcn.10a3c310
sub esp, 0xc
mov ecx, edi
mov eax, dword [ecx]
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
sub esp, 0xc
mov edx, ebp
mov ecx, dword [edx]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, esi
mov dword [eax + 8], edx
call fcn.10b73230
test eax, eax
je 0x10b779a6
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x380]
test ch, 8
je 0x10b778ff
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10b778ff
mov eax, dword [esi]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
push 0x86
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
push edi
lea eax, [esp + 0x68]
push eax
push ebx
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi]
call dword [edx + 0xdc]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10b778f7
sub esp, 0xc
mov edx, edi
mov ecx, dword [edx]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x64]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.10b73230
test eax, eax
jne 0x10b779a6
mov dword [esp + 0x18], 1
mov eax, dword [esi]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 0x48]
mov dword [eax], ecx
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esi]
push 0x86
push edi
add eax, 0x148
push eax
push ebx
lea eax, [esp + 0x98]
push eax
call dword [edx + 0xdc]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10b77aa1
mov edx, dword [edi]
mov eax, dword [edi + 4]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [edi + 8]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 8], edx
add eax, 0x148
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.10b73230
test eax, eax
je 0x10b77aa1
mov ecx, dword [esp + 0x20]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
inc ecx
cmp ecx, edx
mov dword [esp + 0x20], ecx
jl 0x10b776a0
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x380]
test ah, 8
mov dword [esp + 0x28], 0
je 0x10b77a08
mov ecx, dword [edi + 0x24]
mov edx, dword [0x110a36dc]
mov eax, dword [edx + ecx*4]
mov ecx, dword [0x10f43370]
add eax, 0xc
push eax
push str.remove__s
push ecx
mov ebp, ebx
call fcn.109baf50
mov ecx, dword [esi]
mov edx, dword [ecx]
add esp, 0xc
push 0
push edi
call dword [edx + 0xb0]
jmp 0x10b77a42
mov eax, dword [ebx + 0x24]
mov ecx, dword [0x110a36dc]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x10f43370]
add edx, 0xc
push edx
push str.remove__s
push eax
mov ebp, edi
call fcn.109baf50
mov ecx, dword [esi]
mov edx, dword [ecx]
add esp, 0xc
push 0
push ebx
call dword [edx + 0xb0]
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10b77a99
mov ecx, dword [esp + 0x54]
fld dword [esp + 0x58]
mov edx, dword [esp + 0x58]
lea eax, [ebp + 0x148]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0x24]
mov dword [eax + 8], ecx
mov eax, dword [0x110a36dc]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x10f43370]
sub esp, 0x10
fstp qword [esp + 8]
add ecx, 0xc
fld dword [esp + 0x64]
fstp qword [esp]
push ecx
push str.Move__s_to__f__f
push edx
call fcn.109baf50
add esp, 0x1c
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x10b77ac9
mov ecx, dword [esi + 4]
push 0x42a00000
push 0x425c0000
call fcn.10a3c310
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
inc ecx
cmp ecx, edx
mov dword [esp + 0x1c], ecx
jl 0x10b77506
mov ecx, dword [esp + 0x24]
mov eax, dword [esi]
mov eax, dword [eax + 0x34]
inc ecx
cmp ecx, eax
mov dword [esp + 0x24], ecx
jl 0x10b77464
mov ecx, dword [esi]
mov eax, dword [ecx + 0x34]
test eax, eax
mov dword [esp + 0x28], 0
jle 0x10b78150
mov ecx, dword [0x10fcccac]
mov edi, dword [esp + 0x28]
mov edx, dword [ecx]
push str.Creating_intermediate_paths
push eax
push edi
push ecx
call dword [edx + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax + 0x30]
mov edi, dword [ecx + edi*4]
add esp, 0x10
test edi, edi
mov dword [esp + 0x14], edi
je 0x10b7813a
mov edx, edi
mov eax, dword [edx + 0x6c]
test ah, 0x10
jne 0x10b7813a
mov ecx, dword [0x110b8fc8]
test ecx, ecx
jne 0x10b77b57
push 0x10e44b40
call fcn.10a46290
add esp, 4
mov dword [0x110b8fc8], eax
call fcn.10a49510
mov ecx, dword [0x110b8fc8]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x10b77b6d
cmp eax, ecx
je 0x10b77b7c
mov eax, dword [eax + 0x2c]
test eax, eax
jne 0x10b77b62
xor eax, eax
test ecx, ecx
sete al
test eax, eax
je 0x10b7813a
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x380]
test ah, 0x20
jne 0x10b7813a
mov eax, dword [esi]
mov ecx, dword [eax + 0x34]
test ecx, ecx
mov dword [esp + 0x2c], 0
jle 0x10b7813a
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x2c]
mov eax, dword [edx + eax*4]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.10b73a50
test eax, eax
je 0x10b78124
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x1d0]
test eax, eax
jne 0x10b78124
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov eax, dword [esi]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
push 0x86
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
add ebx, 0x148
push ebx
lea ebp, [edi + 0x148]
push ebp
mov dword [eax + 8], ecx
mov ecx, dword [esi]
push edi
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x94], ebx
call dword [edx + 0xdc]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10b78124
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
fld dword [eax + 0x14c]
mov eax, dword [0x110a36dc]
mov edx, dword [eax + ecx*4]
mov ecx, dword [edi + 0x24]
sub esp, 0x10
fstp qword [esp + 8]
add edx, 0xc
fld dword [ebx]
fstp qword [esp]
push edx
fld dword [edi + 0x14c]
mov edx, dword [eax + ecx*4]
mov eax, dword [0x10f43370]
sub esp, 0x10
fstp qword [esp + 8]
add edx, 0xc
fld dword [ebp]
fstp qword [esp]
push edx
push str.Found_potential_distant_pair__s___f___f__and__s___f___f_
push eax
call fcn.109baf50
mov eax, dword [esi]
mov edx, dword [eax]
add esp, 0x30
push 0
push 0
push 0
sub esp, 0xc
mov eax, ebp
mov edi, dword [eax]
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edi
mov dword [ecx + 8], eax
mov ecx, dword [esi + 4]
push ecx
mov ecx, dword [esi]
call dword [edx + 0xac]
mov edx, dword [esi + 4]
mov byte [edx + 0x74], 1
mov eax, dword [esi + 4]
mov eax, dword [eax]
push 0
sub esp, 0xc
mov ecx, ebx
mov edi, dword [ecx]
mov edx, esp
mov dword [edx], edi
mov edi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], edi
mov dword [edx + 8], ecx
mov ecx, dword [esi + 4]
call dword [eax + 0x1e4]
test eax, eax
je 0x10b78124
fld dword [ebp]
mov eax, dword [esi]
fsub dword [ebx]
mov ecx, dword [eax + 0x34]
test ecx, ecx
fld dword [ebp + 4]
fsub dword [ebx + 4]
mov dword [esp + 0x24], 0
fld dword [ebp + 8]
fsub dword [ebx + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fst dword [esp + 0x20]
fmul dword [esp + 0x20]
fstp dword [esp + 0x78]
jle 0x10b78090
lea ecx, [ecx]
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x24]
mov eax, dword [edx + eax*4]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.10b73a50
test eax, eax
je 0x10b7807a
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp eax, edx
je 0x10b7807a
fld dword [ebp]
mov edi, eax
fsub dword [edi + 0x148]
add edi, 0x148
fld dword [ebp + 4]
fsub dword [edi + 4]
fld dword [ebp + 8]
fsub dword [edi + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fcomp dword [esp + 0x78]
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 5
fstp st(0)
jp 0x10b7807a
fld dword [ebx]
fsub dword [edi]
fld dword [ebx + 4]
fsub dword [edi + 4]
fld dword [ebx + 8]
fsub dword [edi + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fcomp dword [esp + 0x78]
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 5
fstp st(0)
jp 0x10b7807a
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
push edx
call dword [eax + 0x1d0]
test eax, eax
jne 0x10b7807a
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x6c], eax
mov edx, dword [esp + 0x6c]
mov dword [ecx], edx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x70]
mov dword [ecx + 4], edx
push 0x86
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x78]
mov eax, dword [esi]
mov eax, dword [eax]
push edi
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x28]
push ebp
push ecx
mov ecx, dword [esi]
lea edx, [esp + 0x98]
push edx
call dword [eax + 0xdc]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10b7807a
mov eax, dword [esi]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x54], 0
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
push 0x86
mov dword [esp + 0x5c], 0
mov edx, dword [esp + 0x5c]
mov dword [ecx + 4], edx
push edi
mov dword [esp + 0x64], 0
mov edx, dword [esp + 0x64]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x28]
push ebx
push ecx
mov ecx, dword [esi]
lea edx, [esp + 0x98]
push edx
call dword [eax + 0xdc]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10b7807a
fld dword [ebp]
mov eax, dword [esp + 0x18]
fsub dword [edi]
mov ecx, dword [eax + 0x24]
fld dword [ebp + 4]
mov edx, dword [0x110a36dc]
fsub dword [edi + 4]
mov eax, dword [edx + ecx*4]
fld dword [ebp + 8]
mov ecx, dword [0x10f43370]
fsub dword [edi + 8]
sub esp, 0x18
add eax, 0xc
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fstp dword [esp + 0x88]
fld dword [edi]
fsub dword [ebx]
fld dword [edi + 4]
fsub dword [ebx + 4]
fld dword [edi + 8]
fsub dword [ebx + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fst dword [esp + 0x84]
fstp qword [esp + 0x10]
fld dword [esp + 0x88]
fstp qword [esp + 8]
fld dword [esp + 0x38]
fstp qword [esp]
push eax
push str.Try__s_Total__f_versus__f___f
push ecx
call fcn.109baf50
fld dword [esp + 0x90]
fadd dword [esp + 0x94]
add esp, 0x24
fld dword [esp + 0x20]
fmul qword [0x10ea3860]
fcompp
fnstsw ax
test ah, 0x41
jne 0x10b7807a
mov eax, dword [esi]
mov edx, dword [eax]
push 0
push 0
push 0
sub esp, 0xc
mov eax, ebp
mov ebx, dword [eax]
mov ecx, esp
mov dword [ecx], ebx
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], eax
mov ecx, dword [esi + 4]
push ecx
mov ecx, dword [esi]
call dword [edx + 0xac]
mov edx, dword [esi + 4]
mov byte [edx + 0x74], 1
mov eax, dword [esi + 4]
mov eax, dword [eax]
push 0
sub esp, 0xc
mov ecx, edi
mov ebx, dword [ecx]
mov edx, esp
mov dword [edx], ebx
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], ebx
mov dword [edx + 8], ecx
mov ecx, dword [esi + 4]
call dword [eax + 0x1e4]
test eax, eax
je 0x10b78076
mov ebx, dword [edi]
mov ecx, dword [esi]
mov edx, dword [ecx]
push 0
push 0
push 0
sub esp, 0xc
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov eax, dword [esi + 4]
push eax
call dword [edx + 0xac]
mov ecx, dword [esi + 4]
mov ebx, dword [esp + 0x74]
mov byte [ecx + 0x74], 1
mov eax, dword [esi + 4]
mov edx, dword [eax]
push 0
sub esp, 0xc
mov eax, ebx
mov edi, dword [eax]
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edi
mov dword [ecx + 8], eax
mov ecx, dword [esi + 4]
call dword [edx + 0x1e4]
test eax, eax
je 0x10b7807a
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x24]
mov eax, dword [0x110a36dc]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x10f43370]
add ecx, 0xc
push ecx
push str.Found__s_as_intermediate
push edx
call fcn.109baf50
add esp, 0xc
jmp 0x10b78124
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
inc ecx
cmp ecx, edx
mov dword [esp + 0x24], ecx
jl 0x10b77d50
fld dword [ebp]
mov ecx, dword [esi]
fadd dword [ebx]
mov eax, dword [ecx]
fld dword [ebx + 4]
push 0
fadd dword [ebp + 4]
push 0
fld dword [ebx + 8]
push 0
fadd dword [ebp + 8]
sub esp, 0xc
mov edx, esp
fstp dword [esp + 0xcc]
fxch st(1)
fmul dword [0x10e4708c]
fstp dword [esp + 0x48]
mov edi, dword [esp + 0x48]
mov dword [edx], edi
fmul dword [0x10e4708c]
fstp dword [esp + 0x4c]
mov edi, dword [esp + 0x4c]
fld dword [esp + 0xcc]
mov dword [edx + 4], edi
fmul dword [0x10e4708c]
fstp dword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov dword [edx + 8], edi
mov edx, dword [esi + 4]
push edx
call dword [eax + 0xac]
test eax, eax
je 0x10b78124
mov eax, dword [esi + 4]
add eax, 0x148
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.10b74e20
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
inc ecx
cmp ecx, edx
mov dword [esp + 0x2c], ecx
jl 0x10b77ba4
mov ecx, dword [esp + 0x28]
mov edx, dword [esi]
mov eax, dword [edx + 0x34]
inc ecx
cmp ecx, eax
mov dword [esp + 0x28], ecx
jl 0x10b77af4
mov eax, dword [esi]
mov eax, dword [eax + 0x34]
xor ebp, ebp
xor ebx, ebx
test eax, eax
jle 0x10b78236
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
push str.Cleaning_up
push eax
push ebx
push ecx
call dword [edx + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax + 0x30]
mov edi, dword [ecx + ebx*4]
add esp, 0x10
test edi, edi
je 0x10b78228
mov ecx, dword [0x110b95e4]
test ecx, ecx
jne 0x10b781ae
push 0x10e44b40
call fcn.10a85830
add esp, 4
mov dword [0x110b95e4], eax
call fcn.10a7b780
mov ecx, dword [0x110b95e4]
mov eax, dword [edi + 0x28]
test eax, eax
je 0x10b781c0
cmp eax, ecx
je 0x10b781cb
mov eax, dword [eax + 0x2c]
test eax, eax
jne 0x10b781b5
xor eax, eax
test ecx, ecx
sete al
test eax, eax
je 0x10b781d8
push 1
push 1
mov ecx, edi
call fcn.10a3fd50
jmp 0x10b78228
mov ecx, dword [0x110b8fc8]
test ecx, ecx
jne 0x10b781ff
push 0x10e44b40
call fcn.10a46290
add esp, 4
mov dword [0x110b8fc8], eax
call fcn.10a49510
mov ecx, dword [0x110b8fc8]
mov eax, dword [edi + 0x28]
test eax, eax
je 0x10b78211
cmp eax, ecx
je 0x10b7821c
mov eax, dword [eax + 0x2c]
test eax, eax
jne 0x10b78206
xor eax, eax
test ecx, ecx
sete al
test eax, eax
je 0x10b78228
mov eax, dword [edi + 0x380]
test ah, 8
je 0x10b78228
inc ebp
mov edx, dword [esi]
mov eax, dword [edx + 0x34]
inc ebx
cmp ebx, eax
jl 0x10b78161
mov ecx, dword [0x10fcccac]
mov eax, dword [ecx]
call dword [eax + 0x10]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret