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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x9c
xor edx, edx
mov ebx, dword [esp + 0xbc]
mov eax, dword [ebx]
mov ebp, eax
and eax, 7
and ebp, 0xffffffcf
cmp eax, 4
mov dword [ebx], ebp
ja case.default.0x6f1452f8
jmp dword [eax*4 + 0x6f14a6e0]
lea eax, [esp + 0x8c]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.6f1470a0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
fstp qword [esp + 0x40]
lea edx, [eax + ecx - 1]
mov ecx, dword [esp + 0x44]
and ecx, 0xfffff
mov eax, edx
or ecx, 0x3ff00000
mov dword [esp + 0x78], edx
sar eax, 0x1f
mov dword [esp + 0x44], ecx
fld qword [esp + 0x40]
fsub dword [0x6f14a6f4]
mov dword [esp + 0x24], eax
xor eax, edx
sub eax, dword [esp + 0x24]
fmul qword [0x6f14a6f8]
sub eax, 0x435
test eax, eax
fadd qword [0x6f14a700]
fild dword [esp + 0x78]
fmul qword [0x6f14a708]
faddp st(1)
jle 0x6f145385
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
fmul qword [0x6f14a710]
faddp st(1)
fnstcw word [esp + 0x7e]
mov ax, word [esp + 0x7e]
mov ah, 0xc
mov word [esp + 0x7c], ax
fldcw word [esp + 0x7c]
fist dword [esp + 0x24]
fldcw word [esp + 0x7e]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x6f1453c8
fild dword [esp + 0x24]
fucompp
fnstsw ax
and ah, 0x45
xor ah, 0x40
setne al
and eax, 0xff
sub dword [esp + 0x24], eax
jmp 0x6f1453ca
fstp st(0)
mov eax, edx
mov dword [esp + 0x64], 1
shl eax, 0x14
add eax, ecx
mov dword [esp + 0x44], eax
cmp dword [esp + 0x24], 0x16
ja 0x6f14540f
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x64], 0
fld qword [ecx*8 + 0x6f14a7c0]
fld qword [esp + 0x40]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x6f14540f
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
dec eax
sub eax, edx
js 0x6f145f91
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x24]
test ecx, ecx
js 0x6f145f70
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
add edx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], 0
cmp dword [esp + 0xc0], 9
ja 0x6f145a70
cmp dword [esp + 0xc0], 5
jle 0x6f146873
mov ecx, dword [esp + 0xc0]
xor eax, eax
sub ecx, 4
mov dword [esp + 0xc0], ecx
cmp dword [esp + 0xc0], 3
je 0x6f145e0d
jg 0x6f14603a
cmp dword [esp + 0xc0], 2
jne 0x6f145a7b
mov dword [esp + 0x6c], 0
mov edx, dword [esp + 0xc4]
test edx, edx
jle 0x6f1462c7
mov ecx, dword [esp + 0xc4]
cmp ecx, 0xe
mov dword [esp + 0x8c], ecx
setbe cl
and ecx, eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x4c], eax
mov byte [esp + 0x20], cl
mov dword [esp], eax
call fcn.6f146fa0
mov cl, byte [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0xc]
dec eax
mov dword [esp + 0x54], eax
cmp eax, 0
je 0x6f14551f
jge 0x6f14550b
mov dword [esp + 0x54], 2
and ebp, 8
je 0x6f14551f
mov ebp, dword [esp + 0x54]
mov eax, 3
sub eax, ebp
mov dword [esp + 0x54], eax
test cl, cl
je 0x6f14552f
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x6f145c44
cmp dword [esp + 0x24], 0xe
jle 0x6f145b37
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jne 0x6f145fa4
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x40], 0
mov ecx, dword [esp + 0x58]
test ecx, ecx
jle 0x6f14559d
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x6f14559d
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jle 0x6f145578
mov eax, ecx
mov ebp, dword [esp + 0x5c]
mov ecx, dword [esp + 0x50]
sub ebp, eax
sub ecx, eax
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x58]
sub ebp, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x60]
test ecx, ecx
jle 0x6f1455f5
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x6f1462d7
test edi, edi
jle 0x6f1455e9
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.6f147a20
mov dword [esp + 4], esi
mov dword [esp + 0x40], eax
mov dword [esp], eax
call fcn.6f141060
mov dword [esp], esi
mov ebp, eax
call fcn.6f141060
mov esi, ebp
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x60]
sub eax, edi
jne 0x6f1463ef
mov dword [esp + 0x20], edx
mov dword [esp], 1
call fcn.6f141060
mov ebp, dword [esp + 0x68]
mov edi, eax
test ebp, ebp
mov edx, dword [esp + 0x20]
jle 0x6f145629
mov ebp, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.6f147a20
mov edx, dword [esp + 0x20]
mov edi, eax
cmp dword [esp + 0xc0], 1
jle 0x6f146121
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x68]
mov eax, 0x1f
test ecx, ecx
je 0x6f145657
mov eax, dword [edi + 0x10]
bsr eax, dword [edi + eax*4 + 0x10]
xor eax, 0x1f
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
sub eax, ebp
lea ebp, [eax - 4]
and ebp, 0x1f
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x28], ebp
lea eax, [ebp + ecx]
test eax, eax
jle 0x6f14569b
mov dword [esp], esi
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
call fcn.6f147660
mov esi, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
add eax, ecx
test eax, eax
jle 0x6f1456bf
mov dword [esp], edi
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
call fcn.6f147660
mov edx, dword [esp + 0x20]
mov edi, eax
mov ecx, dword [esp + 0x64]
test ecx, ecx
jne 0x6f14609f
mov eax, dword [esp + 0x4c]
test eax, eax
jle 0x6f1462f6
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x6f146159
mov ecx, dword [esp + 0x50]
add ebp, ecx
test ebp, ebp
jle 0x6f145709
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov dword [esp + 4], ebp
mov dword [esp], ecx
call fcn.6f147660
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], ebp
test eax, eax
jne 0x6f1466c0
mov dword [esp + 0x58], ebx
mov dword [esp + 0x8c], 1
mov ebp, edx
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.6f146d70
mov dword [esp + 4], ebx
add eax, 0x30
mov dword [esp], esi
mov dword [esp + 0x30], eax
call fcn.6f147030
mov edx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.6f1474c0
mov edx, eax
mov eax, 1
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x6f145f50
mov dword [esp + 0x20], eax
mov dword [esp], edx
call fcn.6f1472a0
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x6f145e50
mov edx, dword [esp + 0xc0]
test edx, edx
jne 0x6f145e50
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x6f145e50
mov ecx, dword [esp + 0xb8]
test byte [ecx], 1
jne 0x6f145e50
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
cmp dword [esp + 0x30], 0x39
je 0x6f1467f5
cmp dword [esp + 0x34], 0
jle 0x6f146852
inc dword [esp + 0x30]
mov dword [esp + 0x2c], 0x20
mov al, byte [esp + 0x30]
mov byte [ebp], al
inc ebp
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x30], ecx
lea esi, [esi]
mov dword [esp], edi
mov dword [esp + 0x20], edx
call fcn.6f141060
mov edi, dword [esp + 0x28]
test edi, edi
mov edx, dword [esp + 0x20]
je 0x6f14584e
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x40], ecx
je 0x6f14583a
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x6f14583a
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.6f1472a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x20], edx
mov dword [esp], ecx
call fcn.6f1472a0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov dword [esp], esi
call fcn.6f141060
mov byte [ebp], 0
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x30]
test edx, edx
mov dword [eax], ecx
mov edx, dword [esp + 0x20]
je 0x6f145883
mov eax, dword [esp + 0xcc]
mov dword [eax], ebp
mov eax, dword [ebx]
mov ecx, dword [esp + 0x2c]
or eax, ecx
mov dword [ebx], eax
lea esi, [esi]
add esp, 0x9c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xb0]
xor edx, edx
mov edi, dword [eax]
cmp edi, 0x20
jle 0x6f1458bc
mov eax, 0x20
add eax, eax
inc edx
cmp edi, eax
jg 0x6f1458b5
mov dword [esp], edx
call fcn.6f1472f0
mov esi, eax
lea eax, [edi - 1]
sar eax, 5
mov edx, dword [esp + 0xb8]
lea ecx, [esi + 0x14]
lea eax, [edx + eax*4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x24], eax
mov edx, ecx
mov eax, dword [esp + 0xb8]
lea esi, [esi]
mov ecx, dword [eax]
add eax, 4
mov dword [edx], ecx
add edx, 4
cmp dword [esp + 0x24], eax
jae 0x6f1458f0
mov eax, dword [esp + 0x3c]
sub edx, eax
sar edx, 2
lea eax, [esi + edx*4 + 0x10]
jmp 0x6f145912
mov edx, ecx
lea ecx, [edx - 1]
cmp dword [eax], 0
jne 0x6f145a50
sub eax, 4
test ecx, ecx
jne 0x6f145910
mov dword [esi + 0x10], 0
mov dword [esp + 0x3c], 0
mov dword [esp], esi
call fcn.6f147c40
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x50], edx
test eax, eax
jne 0x6f145a20
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x6f145300
mov dword [esp], esi
call fcn.6f1472a0
mov ebp, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
mov dword [ebp], 1
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], 0x6f14a6dd
call fcn.6f146fd0
add esp, 0x9c
mov edx, eax
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov dword [ecx], 0xffff8000
mov dword [esp + 4], ebp
mov dword [esp + 8], 3
mov dword [esp], 0x6f14a6d9
call fcn.6f146fd0
add esp, 0x9c
mov edx, eax
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [eax], 0xffff8000
mov dword [esp + 4], edx
mov dword [esp + 8], 8
mov dword [esp], 0x6f14a6d0
call fcn.6f146fd0
add esp, 0x9c
mov edx, eax
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.6f147b40
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xb4]
add ecx, eax
sub edx, eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], edx
jmp 0x6f145956
bsr eax, dword [esi + edx*4 + 0x10]
mov dword [esi + 0x10], edx
shl edx, 5
xor eax, 0x1f
sub edx, eax
mov dword [esp + 0x3c], edx
jmp 0x6f145934
mov dword [esp + 0xc0], 0
mov dword [esp + 0x78], edi
xor ecx, ecx
fild dword [esp + 0x78]
fmul qword [0x6f14a718]
mov dword [esp + 0x6c], 1
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0xc4], 0
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
add eax, 3
mov dword [esp + 0x8c], eax
jmp 0x6f1454db
fld st(0)
fadd st(1)
mov eax, dword [esp + 0x4c]
fadd dword [0x6f14a72c]
fstp qword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sub ecx, 0x3400000
test eax, eax
mov dword [esp + 0x44], ecx
jne 0x6f1463dc
fld st(0)
fsub dword [0x6f14a730]
fld qword [esp + 0x40]
fxch st(1)
fucom st(1)
fnstsw ax
test ah, 0x45
je 0x6f1463f8
fxch st(1)
fchs
fucompp
fnstsw ax
test ah, 0x45
je 0x6f146063
jmp 0x6f145b33
fstp st(0)
fstp st(0)
jmp 0x6f145b33
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6f145b33
fstp st(0)
fstp qword [esp + 0x40]
mov ecx, dword [esp + 0x50]
test ecx, ecx
js 0x6f14553a
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x4c]
test eax, eax
fld qword [ecx*8 + 0x6f14a7c0]
jle 0x6f146374
fld qword [esp + 0x40]
fnstcw word [esp + 0x7e]
fld st(0)
fdiv st(2)
mov ax, word [esp + 0x7e]
mov dword [esp + 0x8c], 1
mov ah, 0xc
lea ebp, [edx + 1]
mov word [esp + 0x7c], ax
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
fmul st(2)
lea eax, [ecx + 0x30]
mov byte [edx], al
fsubp st(1)
fldz
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
and ah, 0x45
xor ah, 0x40
je 0x6f145c2a
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0x4c], eax
je 0x6f146229
fld dword [0x6f14a724]
mov edi, dword [esp + 0x4c]
jmp 0x6f145bdf
mov eax, dword [esp + 0x8c]
cmp edi, eax
je 0x6f146227
fmul st(1), st(0)
inc eax
mov dword [esp + 0x8c], eax
fld st(1)
fdiv st(3)
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
fmul st(3)
lea eax, [ecx + 0x30]
mov byte [ebp], al
inc ebp
fsubp st(2)
fldz
fxch st(2)
fucom st(2)
fnstsw ax
fstp st(2)
and ah, 0x45
xor ah, 0x40
jne 0x6f145bd0
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6f145c2e
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], 0
inc ecx
mov dword [esp + 0x30], ecx
jmp 0x6f14584e
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x6f14552f
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x8c], 0
fld qword [esp + 0x40]
test ebp, ebp
je 0x6f145acd
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jle 0x6f145acd
fld1
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x6f145acd
mov eax, dword [esp + 0x70]
test eax, eax
jle 0x6f145b33
fld st(0)
fmul dword [0x6f14a724]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x74], 0xffffffff
fld st(0)
fmul dword [0x6f14a728]
fadd dword [0x6f14a72c]
fstp qword [esp + 0x40]
mov ebp, dword [esp + 0x44]
sub ebp, 0x3400000
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x6c]
test ebp, ebp
je 0x6f146415
fld qword [esp + 0x40]
fnstcw word [esp + 0x7e]
fld dword [0x6f14a734]
fdiv qword [ecx*8 + 0x6f14a7b8]
mov ax, word [esp + 0x7e]
mov dword [esp + 0x8c], 0
mov ah, 0xc
lea ebp, [edx + 1]
mov word [esp + 0x7c], ax
fsubrp st(1)
fxch st(1)
fldcw word [esp + 0x7c]
fist dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], eax
add eax, 0x30
fild dword [esp + 0x78]
fsubp st(1)
fxch st(1)
mov byte [edx], al
fucom st(1)
fnstsw ax
test ah, 0x45
je 0x6f145dde
fld st(1)
fsubr dword [0x6f14a720]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x6f146560
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
cmp eax, ecx
jge 0x6f145b23
fld dword [0x6f14a724]
jmp 0x6f145da4
fld st(1)
fsubr dword [0x6f14a720]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x6f146568
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
cmp eax, ecx
jge 0x6f145b29
fxch st(1)
fxch st(2)
fmul st(1), st(0)
fmul st(2), st(0)
fxch st(2)
fldcw word [esp + 0x7c]
fist dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], eax
add eax, 0x30
fild dword [esp + 0x78]
fsubp st(1)
fxch st(1)
mov byte [ebp], al
inc ebp
fucom st(1)
fnstsw ax
test ah, 0x45
jne 0x6f145d70
fstp st(0)
fstp st(1)
fstp st(1)
jmp 0x6f145de2
fstp st(0)
fstp st(1)
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
jne 0x6f146816
jp 0x6f146816
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x2c], 0
inc ecx
mov dword [esp + 0x30], ecx
jmp 0x6f14584e
mov dword [esp + 0x6c], 0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0xc4]
add edx, ecx
mov dword [esp + 0x70], edx
inc edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x8c], edx
test edx, edx
jle 0x6f1462a8
cmp edx, 0xe
setbe cl
and ecx, eax
mov eax, edx
jmp 0x6f1454db
cmp dword [esp + 0x34], 0
jl 0x6f1465a7
jne 0x6f145e78
mov edx, dword [esp + 0xc0]
test edx, edx
jne 0x6f145e78
mov edx, dword [esp + 0xb8]
test byte [edx], 1
je 0x6f1465a7
test eax, eax
jle 0x6f145ec0
cmp dword [esp + 0x54], 2
je 0x6f145ec0
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
cmp dword [esp + 0x30], 0x39
je 0x6f1467f5
mov al, byte [esp + 0x30]
inc eax
mov byte [ebp], al
inc ebp
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], 0x20
inc eax
mov dword [esp + 0x30], eax
jmp 0x6f145800
mov dl, byte [esp + 0x30]
mov byte [ebp], dl
inc ebp
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x8c], ecx
je 0x6f146758
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6f147900
cmp ebx, dword [esp + 0x28]
mov esi, eax
je 0x6f146017
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6f147900
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], eax
call fcn.6f147900
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x8c]
inc ecx
mov dword [esp + 0x8c], ecx
jmp 0x6f145736
mov dword [esp + 4], edx
mov dword [esp + 0x20], edx
mov dword [esp], esi
call fcn.6f147030
mov edx, dword [esp + 0x20]
jmp 0x6f14577b
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
sub eax, edx
mov dword [esp + 0x68], 0
neg edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
jmp 0x6f14544e
neg eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], 0
jmp 0x6f145428
cmp dword [esp + 0xc0], 1
jle 0x6f1464ec
mov edi, dword [esp + 0x4c]
dec edi
cmp dword [esp + 0x60], edi
jl 0x6f1463bb
mov eax, dword [esp + 0x60]
sub eax, edi
mov edi, eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x8c], ecx
test ecx, ecx
js 0x6f146587
mov ebp, dword [esp + 0x5c]
mov eax, ecx
mov dword [esp + 0x50], ebp
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
add ecx, eax
add ebp, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], ebp
mov dword [esp], 1
call fcn.6f1478d0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
jmp 0x6f14555a
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6f147900
mov ebx, eax
mov dword [esp + 0x28], eax
jmp 0x6f145f37
cmp dword [esp + 0xc0], 4
je 0x6f14629b
cmp dword [esp + 0xc0], 5
jne 0x6f145a7b
mov dword [esp + 0x6c], 1
jmp 0x6f145e15
fstp st(0)
jmp 0x6f146069
fstp st(0)
xor edi, edi
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x40]
neg eax
mov dword [esp + 0x30], eax
mov ebp, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], 0
mov dword [esp + 0x2c], 0x10
jmp 0x6f145800
mov dword [esp + 0x20], edx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.6f147030
mov edx, dword [esp + 0x20]
test eax, eax
jns 0x6f1456cb
dec dword [esp + 0x24]
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6f147900
mov ecx, dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x4c], ecx
cmp dword [esp + 0x6c], 0
mov edx, dword [esp + 0x20]
je 0x6f1456cb
mov eax, dword [esp + 0x40]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], eax
call fcn.6f147900
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x20]
jmp 0x6f1456cb
cmp dword [esp + 0x3c], 1
jne 0x6f145637
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + 4]
inc eax
cmp dword [esp + 0xb4], eax
jle 0x6f145637
inc dword [esp + 0x5c]
mov dword [esp + 0x34], 1
inc dword [esp + 0x58]
jmp 0x6f14563f
mov dword [esp + 0x38], ebx
mov dword [esp + 0x8c], 1
mov ebp, edx
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x4c]
jmp 0x6f14619d
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6f147900
mov edx, dword [esp + 0x8c]
mov esi, eax
inc edx
mov dword [esp + 0x8c], edx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.6f146d70
add eax, 0x30
mov byte [ebp], al
inc ebp
cmp ebx, dword [esp + 0x8c]
jg 0x6f146174
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x6f146657
cmp dword [esp + 0x54], 2
je 0x6f146693
cmp dword [esi + 0x10], 1
jg 0x6f1461f9
jmp 0x6f1467ff
mov ebp, eax
mov cl, byte [ebp - 1]
lea eax, [ebp - 1]
cmp cl, 0x39
jne 0x6f146739
cmp edx, eax
jne 0x6f1461f7
mov byte [edx], 0x31
mov dword [esp + 0x2c], 0x20
mov eax, dword [esp + 0x24]
add eax, 2
mov dword [esp + 0x30], eax
jmp 0x6f145800
fstp st(0)
mov eax, dword [esp + 0x54]
test eax, eax
je 0x6f146525
fstp st(0)
fstp st(0)
cmp dword [esp + 0x54], 1
je 0x6f146260
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], 0x10
inc eax
mov dword [esp + 0x30], eax
jmp 0x6f14584e
mov ebp, eax
jmp 0x6f146260
fstp st(0)
fstp st(0)
nop
mov cl, byte [ebp - 1]
lea eax, [ebp - 1]
cmp cl, 0x39
jne 0x6f146752
cmp edx, eax
jne 0x6f146256
mov edi, dword [esp + 0x24]
mov eax, edx
inc edi
mov cl, 0x31
mov dword [esp + 0x24], edi
mov byte [edx], 0x30
mov byte [eax], cl
mov dword [esp + 0x2c], 0x20
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x30], eax
jmp 0x6f14584e
mov dword [esp + 0x6c], 1
jmp 0x6f1454a7
cmp dword [esp + 0x4c], 0xe
setbe cl
and ecx, eax
mov dword [esp + 0x8c], 1
mov eax, 1
jmp 0x6f1454db
mov dword [esp + 0xc4], 1
jmp 0x6f1454b6
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x20], edx
call fcn.6f147a20
mov edx, dword [esp + 0x20]
mov esi, eax
jmp 0x6f1455f5
cmp dword [esp + 0xc0], 2
jle 0x6f1456d7
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jne 0x6f146073
mov dword [esp + 0x20], edx
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 5
call fcn.6f147900
mov dword [esp], esi
mov edi, eax
mov dword [esp + 4], eax
call fcn.6f147030
mov edx, dword [esp + 0x20]
test eax, eax
jle 0x6f146073
mov ebp, dword [esp + 0x24]
add ebp, 2
mov dword [esp + 0x30], ebp
mov byte [edx], 0x31
lea ebp, [edx + 1]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], 0x20
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], 0
jmp 0x6f145800
mov ebp, dword [esp + 0xc4]
test ebp, ebp
jns 0x6f145b5a
mov edi, dword [esp + 0x4c]
test edi, edi
jne 0x6f146067
fmul dword [0x6f14a730]
fld qword [esp + 0x40]
fxch st(1)
fucompp
fnstsw ax
test ah, 5
je 0x6f146069
add ecx, 2
xor edi, edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], 0
jmp 0x6f146351
mov ebp, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
sub edi, ebp
mov eax, dword [esp + 0x60]
add ecx, edi
add eax, edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], eax
xor edi, edi
jmp 0x6f145fc9
fld st(0)
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x74], 0
jmp 0x6f145cc6
mov dword [esp + 4], eax
jmp 0x6f1462df
fstp st(0)
fstp st(0)
fstp st(0)
mov dword [esp + 0x30], 2
xor edi, edi
mov dword [esp + 0x40], 0
jmp 0x6f146351
fld qword [esp + 0x40]
fnstcw word [esp + 0x7e]
fmul qword [ecx*8 + 0x6f14a7b8]
mov ax, word [esp + 0x7e]
mov ah, 0xc
mov dword [esp + 0x8c], 1
mov ebp, edx
mov word [esp + 0x7c], ax
fld dword [0x6f14a724]
fxch st(2)
jmp 0x6f146451
fmul st(2)
inc eax
mov dword [esp + 0x8c], eax
fldcw word [esp + 0x7c]
fist dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6f14646f
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
fsubp st(1)
add eax, 0x30
mov byte [ebp], al
inc ebp
mov eax, dword [esp + 0x8c]
cmp eax, ecx
jne 0x6f146447
fstp st(2)
fxch st(1)
fld dword [0x6f14a734]
fld st(2)
fadd st(1)
fxch st(2)
fucom st(2)
fnstsw ax
fstp st(2)
test ah, 0x45
je 0x6f146572
fsubrp st(2)
fxch st(1)
fucomp st(1)
fnstsw ax
test ah, 0x45
jne 0x6f145b31
fstp st(1)
fldz
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
cmp ah, 0x40
sete al
and eax, 0xff
dec eax
and eax, 0x10
mov dword [esp + 0x2c], eax
jmp 0x6f1464d5
mov ebp, eax
lea eax, [ebp - 1]
cmp byte [ebp - 1], 0x30
je 0x6f1464d3
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x30], eax
jmp 0x6f14584e
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x50]
sub edi, eax
mov eax, dword [esp + 0xb0]
sub ebp, edi
mov ecx, dword [eax + 4]
lea eax, [edi + 1]
mov dword [esp + 0x8c], eax
cmp ebp, ecx
jl 0x6f14671a
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x50], ecx
jmp 0x6f145fe6
fadd st(0)
fucom st(1)
fnstsw ax
test ah, 0x45
je 0x6f14625a
fxch st(1)
fucompp
fnstsw ax
and ah, 0x45
xor ah, 0x40
jne 0x6f14654b
and cl, 1
jne 0x6f146260
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], 0x10
mov dword [esp + 0x74], ecx
jmp 0x6f1464d5
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6f14657a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6f14657a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x24], ecx
jmp 0x6f146260
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x4c]
sub eax, ebp
mov dword [esp + 0x8c], 0
mov dword [esp + 0x50], eax
xor eax, eax
jmp 0x6f145fe6
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
test ecx, ecx
je 0x6f146773
cmp dword [esi + 0x10], 1
jle 0x6f146769
cmp dword [esp + 0x54], 2
je 0x6f1467d1
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x28]
jmp 0x6f146614
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6f147900
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], eax
call fcn.6f146d70
add eax, 0x30
inc ebp
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.6f147030
test eax, eax
jle 0x6f1467de
mov cl, byte [esp + 0x30]
mov byte [ebp], cl
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], ebx
call fcn.6f147900
cmp dword [esp + 0x40], ebx
mov dword [esp + 0x2c], eax
jne 0x6f1465e2
mov dword [esp + 0x40], eax
jmp 0x6f1465e2
mov dword [esp + 0x20], edx
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.6f147660
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], eax
call fcn.6f147030
mov edx, dword [esp + 0x20]
cmp eax, 0
jg 0x6f1461f9
jne 0x6f146693
test byte [esp + 0x30], 1
jne 0x6f1461f9
cmp dword [esi + 0x10], 1
jle 0x6f14682c
mov dword [esp + 0x2c], 0x10
jmp 0x6f1466a9
mov ebp, eax
lea eax, [ebp - 1]
cmp byte [ebp - 1], 0x30
je 0x6f1466a7
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x30], eax
jmp 0x6f145800
mov eax, dword [ebp + 4]
mov dword [esp + 0x20], edx
mov dword [esp], eax
call fcn.6f1472f0
mov ecx, dword [esp + 0x40]
mov ebp, eax
lea eax, [eax + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0x10]
add ecx, 0xc
lea eax, [eax*4 + 8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.6f147660
mov edx, dword [esp + 0x20]
mov dword [esp + 0x28], eax
jmp 0x6f14571d
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x5c]
sub eax, ecx
mov edi, dword [esp + 0x60]
inc eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x8c], eax
jmp 0x6f145fe6
inc ecx
mov byte [eax], cl
mov dword [esp + 0x2c], 0x20
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x30], ecx
jmp 0x6f145800
inc ecx
jmp 0x6f146283
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
jmp 0x6f1461d5
cmp dword [esi + 0x14], 0
jne 0x6f1465c9
mov dword [esp + 0x2c], 0
test eax, eax
jle 0x6f1467c1
mov dword [esp + 0x20], edx
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.6f147660
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], eax
call fcn.6f147030
mov edx, dword [esp + 0x20]
cmp eax, 0
jle 0x6f146838
cmp dword [esp + 0x30], 0x39
je 0x6f1467f5
inc dword [esp + 0x30]
mov dword [esp + 0x2c], 0x20
cmp dword [esi + 0x10], 1
jg 0x6f1467d1
cmp dword [esi + 0x14], 0
je 0x6f1457ec
mov dword [esp + 0x2c], 0x10
jmp 0x6f1457ec
mov dword [esp + 0x28], ebx
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x30], 0x39
jne 0x6f1457e0
mov byte [ebp], 0x39
inc ebp
jmp 0x6f1461f9
cmp dword [esi + 0x14], 0
jne 0x6f1461f9
mov dword [esp + 0x2c], 0
jmp 0x6f1466a9
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], 0x10
inc eax
mov dword [esp + 0x30], eax
jmp 0x6f14584e
cmp dword [esi + 0x14], 0
jne 0x6f14669d
jmp 0x6f146809
jne 0x6f146845
test byte [esp + 0x30], 1
jne 0x6f1467ae
mov dword [esp + 0x2c], 0x20
jmp 0x6f1467c1
cmp dword [esi + 0x10], 1
jg 0x6f1467d1
mov dword [esp + 0x2c], 0
cmp dword [esi + 0x14], 0
je 0x6f1457ec
jmp 0x6f1467d1
mov eax, 1
jmp 0x6f14547d