Function at 0x10006e20
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004bf58
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x10062064]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x40], ebx
mov edi, dword [ebp + 8]
mov edx, 0xffff
cmp dx, di
jne 0x10006e64
xor eax, eax
jmp 0x1000713a
mov eax, dword [ebx + 0x20]
mov ecx, dword [eax]
test ecx, ecx
je 0x10006e98
mov edx, dword [ebx + 0x30]
mov esi, dword [edx]
lea eax, [ecx + esi*2]
cmp ecx, eax
jae 0x10006e93
lea ecx, [esi - 1]
mov ax, di
mov dword [edx], ecx
mov edx, dword [ebx + 0x20]
mov esi, dword [edx]
lea ecx, [esi + 2]
mov dword [edx], ecx
mov word [esi], di
jmp 0x1000713a
mov edx, 0xffff
cmp dword [ebx + 0x4c], 0
jne 0x10006ea6
mov ax, dx
jmp 0x1000713a
mov esi, dword [ebx + 0xc]
lea eax, [ebx + 0x3c]
cmp dword [esi], eax
jne 0x10006ec6
mov edx, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x50]
sub edx, ecx
mov dword [esi], ecx
mov eax, dword [ebx + 0x1c]
sar edx, 1
mov dword [eax], ecx
mov eax, dword [ebx + 0x2c]
mov dword [eax], edx
cmp dword [ebx + 0x38], 0
jne 0x10006ef0
push dword [ebx + 0x4c]
push edi
call fcn.100352c5
mov ecx, 0xffff
add esp, 8
cmp ax, cx
movzx eax, di
jne 0x1000713a
mov eax, ecx
jmp 0x1000713a
push 0
movzx eax, di
lea ecx, [ebp - 0x34]
push 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
call fcn.100078e0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
lea ecx, [ebp - 0x34]
cmp edi, 0x10
lea esi, [ebp - 0x34]
mov edi, dword [ebp - 0x40]
cmovae ecx, edx
cmovae esi, edx
add ebx, ecx
mov edx, dword [edi + 0x38]
mov dword [ebp - 0x44], edx
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp eax, vtable.std::codecvt_wchar_t__char__struct__Mbstatet_.0
jne 0x10007158
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], ecx
mov edx, ecx
nop dword [eax]
cmp esi, ebx
je 0x10007014
mov ecx, dword [ebp - 0x44]
mov eax, ebx
sub eax, esi
add ecx, 8
cmp eax, 5
lea eax, [edi + 0x40]
push ecx
push eax
jl 0x10006f98
movzx eax, word [edx]
push eax
push esi
call fcn.1002e924
add esp, 0x10
test eax, eax
js 0x10007102
mov esi, dword [ebp - 0x3c]
add esi, eax
jmp 0x10006fde
mov esi, dword [eax]
mov dword [ebp - 0x48], esi
mov esi, dword [eax + 4]
movzx eax, word [edx]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x4c], esi
push eax
call fcn.1002e924
mov edi, eax
add esp, 0x10
test edi, edi
js 0x10007102
mov esi, dword [ebp - 0x3c]
mov ecx, ebx
sub ecx, esi
cmp ecx, edi
jl 0x10007002
push edi
lea eax, [ebp - 0x18]
push eax
push esi
call fcn.10030650
mov esi, dword [ebp - 0x3c]
add esp, 0xc
add esi, edi
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x1a]
add ecx, 2
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], ecx
mov edx, ecx
cmp ecx, eax
jne 0x10006f60
mov edx, eax
xor eax, eax
cmp ecx, edx
setne al
jmp 0x1000701e
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [edi + 0x44], ecx
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x1a]
xor eax, eax
cmp ecx, edx
setne al
test eax, eax
js 0x10007102
cmp eax, 1
jg 0x100070c1
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0x34]
cmp edi, 0x10
mov ebx, dword [ebp - 0x40]
cmovae eax, edx
sub esi, eax
je 0x1000706a
push dword [ebx + 0x4c]
cmp edi, 0x10
lea eax, [ebp - 0x34]
push esi
cmovae eax, edx
push 1
push eax
call fcn.100364b3
mov edi, dword [ebp - 0x20]
add esp, 0x10
mov edx, dword [ebp - 0x34]
cmp esi, eax
jne 0x10007093
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
mov byte [ebx + 0x3e], 1
cmp ecx, eax
jne 0x100070b0
test esi, esi
jne 0x10006f21
cmp dword [ebp - 0x24], 0x20
jae 0x100070a3
push esi
push 8
lea ecx, [ebp - 0x34]
call fcn.10007b60
jmp 0x10006f1b
mov eax, 0xffff
movzx eax, ax
movzx eax, ax
movzx esi, ax
jmp 0x1000710d
mov eax, 0xffff
movzx eax, ax
movzx esi, ax
jmp 0x1000710d
mov eax, dword [ebp + 8]
movzx eax, ax
movzx eax, ax
movzx eax, ax
movzx esi, ax
jmp 0x1000710d
cmp eax, 3
jne 0x10007102
push dword [edi + 0x4c]
push dword [ebp - 0x1c]
call fcn.100352c5
mov ecx, 0xffff
add esp, 8
cmp ax, cx
je 0x100070f2
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
movzx eax, ax
movzx eax, ax
movzx esi, ax
jmp 0x1000710d
mov edi, dword [ebp - 0x20]
mov eax, ecx
mov edx, dword [ebp - 0x34]
movzx eax, ax
movzx esi, ax
jmp 0x1000710d
mov edi, dword [ebp - 0x20]
mov esi, 0xffff
mov edx, dword [ebp - 0x34]
cmp edi, 0x10
jb 0x10007137
inc edi
mov eax, edx
cmp edi, 0x1000
jb 0x1000712d
mov edx, dword [edx - 4]
add edi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000717e
push edi
push edx
call fcn.1002f104
add esp, 8
mov ax, si
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002f0be
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x3c]
push eax
push ebx
push esi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1a]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [edi + 0x40]
push eax
call edx
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
jmp 0x1000701e
call fcn.10035ebd
int3