Function at 0x6f1e40
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x18]
mov dword [esp + 0xc], eax
mov edx, dword [ecx + 4]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x10], ecx
mov eax, dword [edx]
mov dword [esp + 0x18], eax
mov edx, dword [eax + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x14], eax
jmp case.default.0x6f1eda
fstp st(0)
mov edi, dword [esp + 0xc]
mov al, byte [ebx + 0x36]
mov esi, dword [edi]
add edi, 4
test al, 0xc
mov dword [esp + 0xc], edi
je 0x6f1eb4
mov ecx, dword [ebx + 0x3c]
dec ecx
mov dword [ebx + 0x3c], ecx
je 0x6f1e98
test al, 4
je 0x6f1eb4
push edi
push ebx
call fcn.006f2f80
mov al, byte [ebx + 6]
add esp, 8
cmp al, 1
je 0x6f2ed4
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov eax, esi
shr eax, 6
and eax, 0xff
mov dword [esp + 0x1c], eax
shl eax, 4
mov dword [esp + 0x24], eax
lea edi, [eax + edx]
mov eax, esi
and eax, 0x3f
cmp eax, 0x25
ja case.default.0x6f1eda
jmp dword [eax*4 + 0x6f2ee4]
mov eax, dword [esp + 0x10]
shr esi, 0x17
shl esi, 4
jmp 0x6f1ef7
mov eax, dword [esp + 0x14]
shr esi, 0xe
shl esi, 4
add esi, eax
mov eax, dword [esi]
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov dword [edi + 4], ecx
mov edx, dword [esi + 8]
mov dword [edi + 8], edx
jmp case.default.0x6f1eda
mov eax, esi
mov dword [edi + 8], 1
shr eax, 0x17
test esi, 0x7fc000
mov dword [edi], eax
je case.default.0x6f1eda
add dword [esp + 0xc], 4
jmp case.default.0x6f1eda
mov eax, dword [esp + 0x10]
shr esi, 0x17
shl esi, 4
add esi, eax
xor eax, eax
mov dword [esi + 8], eax
sub esi, 0x10
cmp esi, edi
jae 0x6f1f40
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0x18]
shr esi, 0x17
mov edx, dword [ecx + esi*4 + 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [eax]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
shr esi, 0xe
mov edx, dword [ecx + 0xc]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x14]
push edi
shl esi, 4
add esi, eax
lea ecx, [esp + 0x4c]
push esi
push ecx
push ebx
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], 5
call fcn.006f1560
mov edx, dword [ebx + 0xc]
add esp, 0x10
mov dword [esp + 0x10], edx
jmp case.default.0x6f1eda
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x18], eax
mov eax, esi
test esi, 0x400000
je 0x6f1fd6
mov ecx, dword [esp + 0x14]
shr eax, 0xe
and eax, 0xff
shl eax, 4
jmp 0x6f1fe5
mov ecx, dword [esp + 0x10]
shr eax, 0xe
and eax, 0x1ff
shl eax, 4
shr esi, 0x17
push edi
mov edi, dword [esp + 0x14]
shl esi, 4
add eax, ecx
add esi, edi
push eax
push esi
push ebx
call fcn.006f1560
mov ecx, dword [ebx + 0xc]
add esp, 0x10
mov dword [esp + 0x10], ecx
jmp case.default.0x6f1eda
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
shr esi, 0xe
mov eax, dword [edx + 0xc]
push edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
shl esi, 4
add esi, eax
lea edx, [esp + 0x5c]
push esi
push edx
push ebx
mov dword [esp + 0x70], 5
mov dword [ebx + 0x18], ecx
call fcn.006f1700
mov eax, dword [ebx + 0xc]
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0x18]
mov edx, dword [edi]
shr esi, 0x17
mov esi, dword [ecx + esi*4 + 0x14]
mov eax, dword [esi + 8]
mov dword [eax], edx
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov edx, dword [edi + 8]
mov dword [eax + 8], edx
mov eax, dword [edi + 8]
cmp eax, 4
jl case.default.0x6f1eda
mov edi, dword [edi]
test byte [edi + 5], 3
je case.default.0x6f1eda
test byte [esi + 5], 4
je case.default.0x6f1eda
push edi
push esi
push ebx
call fcn.006efc70
add esp, 0xc
jmp case.default.0x6f1eda
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x18], eax
mov eax, esi
test esi, 0x400000
je 0x6f20bf
mov ecx, dword [esp + 0x14]
shr eax, 0xe
and eax, 0xff
shl eax, 4
jmp 0x6f20ce
mov ecx, dword [esp + 0x10]
shr eax, 0xe
and eax, 0x1ff
shl eax, 4
add eax, ecx
test esi, 0x80000000
je 0x6f20ea
mov ecx, dword [esp + 0x14]
shr esi, 0x17
and esi, 0xff
shl esi, 4
jmp 0x6f20f4
mov ecx, dword [esp + 0x10]
shr esi, 0x17
shl esi, 4
add esi, ecx
push eax
push esi
push edi
push ebx
call fcn.006f1700
mov ecx, dword [ebx + 0xc]
add esp, 0x10
mov dword [esp + 0x10], ecx
jmp case.default.0x6f1eda
mov edx, esi
shr edx, 0xe
and edx, 0x1ff
push edx
call fcn.006efd90
add esp, 4
shr esi, 0x17
push eax
push esi
call fcn.006efd90
add esp, 4
push eax
push ebx
call fcn.006f3800
mov dword [edi], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 8], 5
add esp, 0xc
mov dword [ebx + 0x18], eax
jmp 0x6f2cd1
mov ecx, dword [esp + 0x10]
mov eax, esi
shr eax, 0x17
shl eax, 4
add eax, ecx
test esi, 0x400000
mov edx, dword [eax]
mov dword [edi + 0x10], edx
mov edx, dword [eax + 4]
mov dword [edi + 0x14], edx
mov edx, dword [eax + 8]
mov dword [edi + 0x18], edx
mov edx, dword [esp + 0xc]
mov dword [ebx + 0x18], edx
je 0x6f218e
mov ecx, dword [esp + 0x14]
shr esi, 0xe
and esi, 0xff
shl esi, 4
jmp 0x6f219a
shr esi, 0xe
and esi, 0x1ff
shl esi, 4
add esi, ecx
push edi
push esi
push eax
push ebx
call fcn.006f1560
mov eax, dword [ebx + 0xc]
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.default.0x6f1eda
test esi, 0x80000000
mov eax, esi
je 0x6f21cf
mov ecx, dword [esp + 0x14]
shr eax, 0x17
and eax, 0xff
shl eax, 4
jmp 0x6f21d9
mov ecx, dword [esp + 0x10]
shr eax, 0x17
shl eax, 4
add eax, ecx
test esi, 0x400000
je 0x6f21f5
mov ecx, dword [esp + 0x14]
shr esi, 0xe
and esi, 0xff
shl esi, 4
jmp 0x6f2205
mov ecx, dword [esp + 0x10]
shr esi, 0xe
and esi, 0x1ff
shl esi, 4
mov edx, dword [eax + 8]
add esi, ecx
mov ecx, 3
cmp edx, ecx
jne 0x6f2226
cmp dword [esi + 8], ecx
jne 0x6f2226
fld qword [esi]
fadd qword [eax]
mov dword [edi + 8], ecx
fstp qword [edi]
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0xc]
push 5
mov dword [ebx + 0x18], ecx
jmp 0x6f2503
test esi, 0x80000000
mov eax, esi
je 0x6f224f
mov ecx, dword [esp + 0x14]
shr eax, 0x17
and eax, 0xff
shl eax, 4
jmp 0x6f2259
mov ecx, dword [esp + 0x10]
shr eax, 0x17
shl eax, 4
add eax, ecx
test esi, 0x400000
je 0x6f2275
mov ecx, dword [esp + 0x14]
shr esi, 0xe
and esi, 0xff
shl esi, 4
jmp 0x6f2285
mov ecx, dword [esp + 0x10]
shr esi, 0xe
and esi, 0x1ff
shl esi, 4
mov edx, dword [eax + 8]
add esi, ecx
mov ecx, 3
cmp edx, ecx
jne 0x6f22a6
cmp dword [esi + 8], ecx
jne 0x6f22a6
fld qword [eax]
fsub qword [esi]
mov dword [edi + 8], ecx
fstp qword [edi]
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0xc]
push 6
mov dword [ebx + 0x18], ecx
jmp 0x6f2503
test esi, 0x80000000
mov eax, esi
je 0x6f22cf
mov ecx, dword [esp + 0x14]
shr eax, 0x17
and eax, 0xff
shl eax, 4
jmp 0x6f22d9
mov ecx, dword [esp + 0x10]
shr eax, 0x17
shl eax, 4
add eax, ecx
test esi, 0x400000
je 0x6f22f5
mov ecx, dword [esp + 0x14]
shr esi, 0xe
and esi, 0xff
shl esi, 4
jmp 0x6f2305
mov ecx, dword [esp + 0x10]
shr esi, 0xe
and esi, 0x1ff
shl esi, 4
mov edx, dword [eax + 8]
add esi, ecx
mov ecx, 3
cmp edx, ecx
jne 0x6f2326
cmp dword [esi + 8], ecx
jne 0x6f2326
fld qword [esi]
fmul qword [eax]
mov dword [edi + 8], ecx
fstp qword [edi]
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0xc]
push 7
mov dword [ebx + 0x18], ecx
jmp 0x6f2503
test esi, 0x80000000
mov eax, esi
je 0x6f234f
mov ecx, dword [esp + 0x14]
shr eax, 0x17
and eax, 0xff
shl eax, 4
jmp 0x6f2359
mov ecx, dword [esp + 0x10]
shr eax, 0x17
shl eax, 4
add eax, ecx
test esi, 0x400000
je 0x6f2375
mov ecx, dword [esp + 0x14]
shr esi, 0xe
and esi, 0xff
shl esi, 4
jmp 0x6f2385
mov ecx, dword [esp + 0x10]
shr esi, 0xe
and esi, 0x1ff
shl esi, 4
mov edx, dword [eax + 8]
add esi, ecx
mov ecx, 3
cmp edx, ecx
jne 0x6f23a6
cmp dword [esi + 8], ecx
jne 0x6f23a6
fld qword [eax]
fdiv qword [esi]
mov dword [edi + 8], ecx
fstp qword [edi]
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0xc]
push 8
mov dword [ebx + 0x18], ecx
jmp 0x6f2503
test esi, 0x80000000
mov eax, esi
je 0x6f23cf
mov ecx, dword [esp + 0x14]
shr eax, 0x17
and eax, 0xff
shl eax, 4
jmp 0x6f23d9
mov ecx, dword [esp + 0x10]
shr eax, 0x17
shl eax, 4
add eax, ecx
test esi, 0x400000
je 0x6f23f5
mov ecx, dword [esp + 0x14]
shr esi, 0xe
and esi, 0xff
shl esi, 4
jmp 0x6f2405
mov ecx, dword [esp + 0x10]
shr esi, 0xe
and esi, 0x1ff
shl esi, 4
mov edx, dword [eax + 8]
add esi, ecx
mov ecx, 3
cmp edx, ecx
jne 0x6f245e
cmp dword [esi + 8], ecx
jne 0x6f245e
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esi]
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x3c], edx
fld qword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
fdiv qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
call fcn.00705177
fmul qword [esp + 0x38]
add esp, 8
mov dword [edi + 8], 3
fsubr qword [esp + 0x38]
fstp qword [edi]
jmp case.default.0x6f1eda
mov edx, dword [esp + 0xc]
push 9
push esi
push eax
push edi
push ebx
mov dword [ebx + 0x18], edx
call fcn.006f30c0
mov eax, dword [ebx + 0xc]
add esp, 0x14
mov dword [esp + 0x10], eax
jmp case.default.0x6f1eda
test esi, 0x80000000
mov eax, esi
je 0x6f249a
mov ecx, dword [esp + 0x14]
shr eax, 0x17
and eax, 0xff
shl eax, 4
jmp 0x6f24a4
mov ecx, dword [esp + 0x10]
shr eax, 0x17
shl eax, 4
add eax, ecx
test esi, 0x400000
je 0x6f24c0
mov ecx, dword [esp + 0x14]
shr esi, 0xe
and esi, 0xff
shl esi, 4
jmp 0x6f24d0
mov ecx, dword [esp + 0x10]
shr esi, 0xe
and esi, 0x1ff
shl esi, 4
mov edx, dword [eax + 8]
add esi, ecx
mov ecx, 3
cmp edx, ecx
jne 0x6f24fa
cmp dword [esi + 8], ecx
jne 0x6f24fa
fld qword [eax]
fld qword [esi]
call fcn.00704760
fstp qword [edi]
mov dword [edi + 8], 3
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0xc]
push 0xa
mov dword [ebx + 0x18], ecx
push esi
push eax
push edi
push ebx
call fcn.006f30c0
mov edx, dword [ebx + 0xc]
add esp, 0x14
mov dword [esp + 0x10], edx
jmp case.default.0x6f1eda
mov edx, dword [esp + 0x10]
mov eax, 3
shr esi, 0x17
shl esi, 4
add esi, edx
cmp dword [esi + 8], eax
jne 0x6f253f
fld qword [esi]
fchs
fstp qword [edi]
mov dword [edi + 8], eax
jmp case.default.0x6f1eda
mov eax, dword [esp + 0xc]
push 0xb
push esi
push esi
push edi
push ebx
mov dword [ebx + 0x18], eax
call fcn.006f30c0
mov ecx, dword [ebx + 0xc]
add esp, 0x14
mov dword [esp + 0x10], ecx
jmp case.default.0x6f1eda
mov edx, dword [esp + 0x10]
shr esi, 0x17
shl esi, 4
add esi, edx
mov eax, dword [esi + 8]
test eax, eax
je 0x6f258d
cmp eax, 1
jne 0x6f257d
cmp dword [esi], 0
je 0x6f258d
xor eax, eax
mov dword [edi + 8], 1
mov dword [edi], eax
jmp case.default.0x6f1eda
mov eax, 1
mov dword [edi], eax
mov dword [edi + 8], eax
jmp case.default.0x6f1eda
mov edx, dword [esp + 0x10]
shr esi, 0x17
shl esi, 4
add esi, edx
mov eax, dword [esi + 8]
sub eax, 4
je 0x6f260c
dec eax
je 0x6f25eb
mov eax, dword [esp + 0xc]
push 0xc
push edi
push 0x760460
push esi
push ebx
mov dword [ebx + 0x18], eax
call fcn.006f1de0
add esp, 0x14
test eax, eax
jne 0x6f25df
push str.get_length_of
push esi
push ebx
call fcn.006f10f0
add esp, 0xc
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x10], ecx
jmp case.default.0x6f1eda
mov edx, dword [esi]
push edx
call fcn.006f3eb0
mov dword [esp + 0x28], eax
add esp, 4
fild dword [esp + 0x24]
mov dword [edi + 8], 3
fstp qword [edi]
jmp case.default.0x6f1eda
mov eax, dword [esi]
mov dword [esp + 0x44], 0
mov ecx, dword [eax + 0xc]
mov dword [edi + 8], 3
mov dword [esp + 0x40], ecx
fild qword [esp + 0x40]
fstp qword [edi]
jmp case.default.0x6f1eda
mov edi, esi
mov edx, dword [esp + 0xc]
shr esi, 0xe
and esi, 0x1ff
mov dword [ebx + 0x18], edx
shr edi, 0x17
push esi
sub esi, edi
inc esi
push esi
push ebx
call fcn.006f1c00
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x40]
cmp ecx, edx
jb 0x6f2668
push ebx
call fcn.006ef060
add esp, 4
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x24]
shl edi, 4
add edi, eax
mov dword [esp + 0x10], eax
mov edx, dword [edi]
mov dword [ecx + eax], edx
mov edx, dword [edi + 4]
mov dword [ecx + eax + 4], edx
mov edx, dword [edi + 8]
mov dword [ecx + eax + 8], edx
jmp case.default.0x6f1eda
test esi, 0x80000000
mov eax, esi
je 0x6f26ab
mov ecx, dword [esp + 0x14]
shr eax, 0x17
and eax, 0xff
shl eax, 4
jmp 0x6f26b5
mov ecx, dword [esp + 0x10]
shr eax, 0x17
shl eax, 4
add eax, ecx
test esi, 0x400000
je 0x6f26d1
mov ecx, dword [esp + 0x14]
shr esi, 0xe
and esi, 0xff
shl esi, 4
jmp 0x6f26e1
mov ecx, dword [esp + 0x10]
shr esi, 0xe
and esi, 0x1ff
shl esi, 4
mov edx, dword [esp + 0xc]
add esi, ecx
mov dword [ebx + 0x18], edx
mov ecx, dword [eax + 8]
cmp ecx, dword [esi + 8]
jne 0x6f270b
push esi
push eax
push ebx
call fcn.006f1a60
add esp, 0xc
test eax, eax
je 0x6f270b
mov eax, 1
jmp 0x6f280d
xor eax, eax
jmp 0x6f280d
mov edx, dword [esp + 0xc]
mov eax, esi
test esi, 0x400000
mov dword [ebx + 0x18], edx
je 0x6f2734
mov ecx, dword [esp + 0x14]
shr eax, 0xe
and eax, 0xff
shl eax, 4
jmp 0x6f2743
mov ecx, dword [esp + 0x10]
shr eax, 0xe
and eax, 0x1ff
shl eax, 4
add eax, ecx
test esi, 0x80000000
je 0x6f275f
mov ecx, dword [esp + 0x14]
shr esi, 0x17
and esi, 0xff
shl esi, 4
jmp 0x6f2769
mov ecx, dword [esp + 0x10]
shr esi, 0x17
shl esi, 4
add esi, ecx
push eax
push esi
push ebx
call fcn.006f18c0
mov ecx, dword [esp + 0x28]
add esp, 0xc
cmp eax, ecx
jne 0x6f2792
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
shr ecx, 0xe
lea edx, [eax + ecx*4 - 0x7fffc]
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0xc]
mov eax, esi
test esi, 0x400000
mov dword [ebx + 0x18], ecx
je 0x6f27cb
mov ecx, dword [esp + 0x14]
shr eax, 0xe
and eax, 0xff
shl eax, 4
jmp 0x6f27da
mov ecx, dword [esp + 0x10]
shr eax, 0xe
and eax, 0x1ff
shl eax, 4
add eax, ecx
test esi, 0x80000000
je 0x6f27f6
mov ecx, dword [esp + 0x14]
shr esi, 0x17
and esi, 0xff
shl esi, 4
jmp 0x6f2800
mov ecx, dword [esp + 0x10]
shr esi, 0x17
shl esi, 4
add esi, ecx
push eax
push esi
push ebx
call fcn.006f3010
add esp, 0xc
cmp eax, dword [esp + 0x1c]
jne 0x6f2827
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
shr edx, 0xe
lea eax, [eax + edx*4 - 0x7fffc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0xc]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
jmp case.default.0x6f1eda
mov eax, dword [edi + 8]
test eax, eax
je 0x6f2853
cmp eax, 1
jne 0x6f284f
cmp dword [edi], 0
je 0x6f2853
xor eax, eax
jmp 0x6f2858
mov eax, 1
shr esi, 0xe
and esi, 0x1ff
cmp eax, esi
je 0x6f2b1e
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
shr edx, 0xe
lea eax, [eax + edx*4 - 0x7fffc]
mov dword [esp + 0xc], eax
add eax, 4
mov dword [esp + 0xc], eax
jmp case.default.0x6f1eda
mov ecx, dword [esp + 0x10]
mov eax, esi
shr eax, 0x17
shl eax, 4
add eax, ecx
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x6f28ac
cmp ecx, 1
jne 0x6f28a8
cmp dword [eax], 0
je 0x6f28ac
xor ecx, ecx
jmp 0x6f28b1
mov ecx, 1
shr esi, 0xe
and esi, 0x1ff
cmp ecx, esi
je 0x6f28e2
mov ecx, dword [eax]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
shr ecx, 0xe
lea edx, [eax + ecx*4 - 0x7fffc]
mov dword [esp + 0xc], edx
add dword [esp + 0xc], 4
jmp case.default.0x6f1eda
mov eax, esi
shr esi, 0xe
and esi, 0x1ff
shr eax, 0x17
dec esi
test eax, eax
je 0x6f2907
shl eax, 4
add eax, edi
mov dword [ebx + 8], eax
mov eax, dword [esp + 0xc]
push esi
push edi
push ebx
mov dword [ebx + 0x18], eax
call fcn.006ee3d0
add esp, 0xc
sub eax, 0
je 0x6f2dd3
dec eax
jne 0x6f2eda
test esi, esi
jl 0x6f2936
mov ecx, dword [ebx + 0x14]
mov edx, dword [ecx + 8]
mov dword [ebx + 8], edx
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
jmp case.default.0x6f1eda
shr esi, 0x17
je 0x6f294f
shl esi, 4
add esi, edi
mov dword [ebx + 8], esi
mov ecx, dword [esp + 0xc]
push 0xffffffffffffffff
push edi
push ebx
mov dword [ebx + 0x18], ecx
call fcn.006ee3d0
add esp, 0xc
sub eax, 0
je 0x6f2ddb
dec eax
jne 0x6f2eda
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x10], edx
jmp case.default.0x6f1eda
fld qword [edi + 0x20]
fst qword [esp + 0x28]
fadd qword [edi]
fld qword [edi + 0x10]
fld qword [0x7599c8]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
je 0x6f29ad
fld st(1)
fcomp st(1)
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x6f29ba
jmp 0x6f1e75
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x6f1e75
mov eax, dword [esp + 0xc]
fst qword [edi]
shr esi, 0xe
lea ecx, [eax + esi*4 - 0x7fffc]
mov eax, 3
mov dword [edi + 8], eax
mov dword [esp + 0xc], ecx
fstp qword [edi + 0x30]
mov dword [edi + 0x38], eax
jmp case.default.0x6f1eda
mov eax, dword [esp + 0xc]
lea edx, [edi + 0x20]
mov dword [ebx + 0x18], eax
mov eax, dword [edi + 8]
cmp eax, 3
mov dword [esp + 0x1c], edx
je 0x6f2a0c
push edi
push edi
call fcn.006f14a0
add esp, 8
test eax, eax
jne 0x6f2a0c
push str.for_initial_value_must_be_a_number
jmp 0x6f2a4d
cmp dword [edi + 0x18], 3
je 0x6f2a2a
lea eax, [edi + 0x10]
push eax
push eax
call fcn.006f14a0
add esp, 8
test eax, eax
jne 0x6f2a2a
push str.for_limit_must_be_a_number
jmp 0x6f2a4d
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 8], 3
je 0x6f2a56
mov eax, ecx
push eax
push eax
call fcn.006f14a0
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x6f2a56
push str.for_step_must_be_a_number
push ebx
call fcn.006f1310
add esp, 8
mov edx, dword [esp + 0x1c]
fld qword [edi]
fsub qword [edx]
mov dword [edi + 8], 3
fstp qword [edi]
mov eax, dword [esp + 0xc]
shr esi, 0xe
lea ecx, [eax + esi*4 - 0x7fffc]
mov dword [esp + 0xc], ecx
jmp case.default.0x6f1eda
mov edx, dword [edi + 0x20]
lea eax, [edi + 0x30]
shr esi, 0xe
mov dword [eax + 0x20], edx
mov ecx, dword [edi + 0x24]
mov dword [eax + 0x24], ecx
mov edx, dword [edi + 0x28]
mov dword [eax + 0x28], edx
mov ecx, dword [edi + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [edi + 0x18]
mov dword [eax + 0x18], ecx
mov edx, dword [edi]
mov dword [eax], edx
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov edx, dword [edi + 8]
and esi, 0x1ff
mov dword [eax + 8], edx
mov edx, dword [esp + 0xc]
push esi
lea ecx, [eax + 0x30]
push eax
push ebx
mov dword [ebx + 8], ecx
mov dword [ebx + 0x18], edx
call fcn.006ee8f0
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x1c], ecx
add esp, 0xc
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x1c]
add eax, 3
mov dword [ebx + 8], edx
shl eax, 4
add eax, ecx
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x6f2b1e
mov ecx, dword [eax]
mov dword [eax - 0x10], ecx
mov edx, dword [eax + 4]
mov dword [eax - 0xc], edx
mov ecx, dword [eax + 8]
mov dword [eax - 8], ecx
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
shr edx, 0xe
lea eax, [eax + edx*4 - 0x7fffc]
mov dword [esp + 0xc], eax
add dword [esp + 0xc], 4
jmp case.default.0x6f1eda
mov eax, esi
shr esi, 0xe
shr eax, 0x17
and esi, 0x1ff
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x6f2b54
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x14]
sub eax, edi
mov edx, dword [ecx + 8]
sar eax, 4
dec eax
mov dword [ebx + 8], edx
mov dword [esp + 0x1c], eax
test esi, esi
jne 0x6f2b65
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
add eax, 4
mov dword [esp + 0xc], eax
cmp dword [edi + 8], 5
jne case.default.0x6f1eda
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi]
lea eax, [esi + esi*4]
mov dword [esp + 0x24], ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x32]
mov edx, dword [ecx + 0x1c]
cmp eax, edx
mov dword [esp + 0x20], eax
jle 0x6f2b99
push eax
push ecx
push ebx
call fcn.006f3510
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
jle case.default.0x6f1eda
mov esi, eax
mov dword [esp + 0x1c], eax
shl esi, 4
add esi, edi
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov eax, ecx
dec ecx
push eax
push edi
push ebx
mov dword [esp + 0x2c], ecx
call fcn.006f3e10
mov ecx, dword [esi]
add esp, 0xc
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov ecx, dword [esi + 8]
mov dword [eax + 8], ecx
mov eax, dword [esi + 8]
cmp eax, 4
jl 0x6f2bfa
mov edx, dword [esi]
test byte [edx + 5], 3
je 0x6f2bfa
test byte [edi + 5], 4
je 0x6f2bfa
push edi
push ebx
call fcn.006efcb0
add esp, 8
mov eax, dword [esp + 0x1c]
sub esi, 0x10
dec eax
mov dword [esp + 0x1c], eax
jne 0x6f2bb0
jmp case.default.0x6f1eda
push edi
push ebx
call fcn.006f4410
add esp, 8
jmp case.default.0x6f1eda
mov eax, dword [esp + 0x18]
shr esi, 0xe
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0x10]
xor ecx, ecx
mov esi, dword [edx + esi*4]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x20], esi
push edx
mov cl, byte [esi + 0x48]
mov esi, ecx
push esi
push ebx
call fcn.006f4290
mov ecx, dword [esp + 0x2c]
add esp, 0xc
test esi, esi
mov dword [esp + 0x24], eax
mov dword [eax + 0x10], ecx
jle 0x6f2cf3
mov edx, eax
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0xc]
add edx, 0x14
mov dword [esp + 0x1c], edx
mov eax, dword [esi]
mov ecx, eax
and ecx, 0x3f
cmp cl, 4
jne 0x6f2c88
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
shr eax, 0x17
mov eax, dword [edx + eax*4 + 0x14]
mov dword [ecx], eax
jmp 0x6f2ca4
mov edx, dword [esp + 0x10]
shr eax, 0x17
shl eax, 4
add eax, edx
push eax
push ebx
call fcn.006f4330
mov edx, dword [esp + 0x24]
add esp, 8
mov dword [edx], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add edx, 4
add esi, 4
dec eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
jne 0x6f2c69
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x24]
mov dword [edi + 8], 6
mov dword [edi], eax
mov dword [ebx + 0x18], esi
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x40]
cmp ecx, edx
jb 0x6f2ce7
push ebx
call fcn.006ef060
add esp, 4
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x10], edx
jmp case.default.0x6f1eda
mov esi, dword [esp + 0xc]
jmp 0x6f2cc1
mov ecx, dword [ebx + 0x14]
shr esi, 0x17
mov edx, dword [ecx + 4]
dec esi
mov eax, esi
mov esi, dword [ecx]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
sub esi, edx
mov dword [esp + 0x20], eax
mov edx, dword [ecx + 0x10]
xor ecx, ecx
sar esi, 4
mov cl, byte [edx + 0x49]
sub esi, ecx
dec esi
cmp eax, 0xffffffff
jne 0x6f2d6b
mov ecx, dword [ebx + 0x1c]
mov edi, dword [ebx + 8]
mov edx, dword [esp + 0xc]
mov eax, esi
shl eax, 4
sub ecx, edi
mov dword [ebx + 0x18], edx
cmp ecx, eax
mov dword [esp + 0x1c], eax
jg 0x6f2d4e
push esi
push ebx
call fcn.006ee2d0
add esp, 8
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
lea edi, [edx + eax]
mov eax, esi
add ecx, edi
mov dword [esp + 0x20], eax
mov dword [ebx + 8], ecx
test eax, eax
mov dword [esp + 0x1c], 0
jle case.default.0x6f1eda
mov edx, esi
mov eax, 0xfffffff8
shl edx, 4
sub eax, edi
lea ecx, [edi + 8]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x1c], esi
jge 0x6f2db4
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
sub eax, edx
add eax, ecx
add eax, dword [edi]
mov edi, dword [eax]
mov dword [ecx - 8], edi
mov edi, dword [eax + 4]
mov dword [ecx - 4], edi
mov eax, dword [eax + 8]
mov dword [ecx], eax
jmp 0x6f2dba
mov dword [ecx], 0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
inc eax
add ecx, 0x10
cmp eax, edi
mov dword [esp + 0x1c], eax
jl 0x6f2d8e
jmp case.default.0x6f1eda
inc dword [ebp + 0xc]
jmp 0x6f1e4f
mov esi, dword [ebx + 0x14]
mov eax, dword [ebx + 0x68]
sub esi, 0x18
test eax, eax
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x24], ecx
je 0x6f2dfe
mov edx, dword [esi]
push edx
push ebx
call fcn.006f4410
add esp, 8
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 4]
sub eax, edi
mov dword [esp + 0x1c], 0
sar eax, 4
shl eax, 4
add eax, ecx
mov dword [esi], eax
mov dword [ebx + 0xc], eax
cmp edi, dword [ebx + 8]
jae 0x6f2e52
mov edx, dword [esp + 0x24]
mov ecx, edi
mov eax, edi
sub edx, edi
mov edi, dword [ecx]
mov dword [edx + eax], edi
mov edi, dword [ecx + 4]
mov dword [edx + eax + 4], edi
mov edi, dword [esp + 0x1c]
mov ecx, dword [ecx + 8]
inc edi
mov dword [edx + eax + 8], ecx
mov dword [esp + 0x1c], edi
mov edi, dword [ebx + 8]
add eax, 0x10
cmp eax, edi
mov ecx, eax
jb 0x6f2e2a
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
shl eax, 4
add eax, edx
mov dword [ebx + 8], eax
mov ecx, dword [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x18]
inc ecx
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], ecx
mov eax, dword [ebx + 0x14]
add eax, 0xffffffe8
mov dword [ebx + 0x14], eax
jmp 0x6f1e4f
shr esi, 0x17
je 0x6f2e8f
shl esi, 4
lea ecx, [esi + edi - 0x10]
mov dword [ebx + 8], ecx
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x6f2ea4
mov edx, dword [esp + 0x10]
push edx
push ebx
call fcn.006f4410
add esp, 8
mov eax, dword [esp + 0xc]
push edi
push ebx
mov dword [ebx + 0x18], eax
call fcn.006ee810
mov ecx, dword [ebp + 0xc]
add esp, 8
dec ecx
mov dword [ebp + 0xc], ecx
je 0x6f2eda
test eax, eax
je 0x6f1e4f
mov ecx, dword [ebx + 0x14]
mov edx, dword [ecx + 8]
mov dword [ebx + 8], edx
jmp 0x6f1e4f
add edi, 0xfffffffc
mov dword [ebx + 0x18], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret