Function at 0x140062720
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1ffd8]
mov eax, 0x200d8
call fcn.1400e37c0
sub rsp, rax
mov r14, r8
mov rdi, rdx
mov rsi, rcx
lea r12, vtable.TextStream.0
mov qword [rsp + 0x40], r12
xor r15d, r15d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x54], 0xffffffff
mov byte [rsp + 0x6c], r15b
mov word [rsp + 0x6e], r15w
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov ecx, dword [0x1401354f0]
cmp ecx, 0xffffffff
je 0x1400627b6
mov dword [rsp + 0x54], ecx
lea rdx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1400627b6
mov byte [rsp + 0x5e], r15b
lea rax, vtable.TextFile.0
mov qword [rsp + 0x40], rax
mov qword [rbp - 0x80], 0xffffffffffffffff
mov rax, qword [0x14012c398]
mov r9d, dword [rax + 0xb8]
btr r9d, 0x1f
mov r8d, 0x30c
mov rdx, qword [rbp + 0x20040]
lea rcx, [rsp + 0x40]
call fcn.1400a2c30
movzx ebx, al
test al, al
jne 0x1400628ab
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx], 0xc
jne 0x14006281a
lea ecx, [rax - 2]
cmp ecx, 1
jbe 0x1400628ab
mov r8d, 0xa
lea rdx, [rbp - 0x60]
mov ecx, eax
call fcn.1400cf3ec
mov rcx, qword [0x1401348a0]
mov rax, qword [0x14012c398]
cmp dword [rax + 0x60], 0
jne 0x14006287d
cmp dword [0x140135218], 0
jne 0x14006287d
cmp byte [0x14012ed1d], 1
je 0x14006287d
test rcx, rcx
jne 0x14006287d
mov qword [rsp + 0x20], r15
lea r9, [0x140106cb0]
lea r8d, [rcx + 9]
lea rdx, [rbp - 0x60]
lea rcx, [0x140134a20]
call fcn.140010b10
mov edi, eax
jmp 0x140062f70
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 9
xor r9d, r9d
lea r8, [0x140106cb0]
lea rdx, [rbp - 0x60]
lea rcx, [0x140134a20]
call fcn.14000f460
mov edi, eax
jmp 0x140062f70
mov rcx, qword [rbp + 0x20048]
call fcn.1400d5b70
test rax, rax
jne 0x1400628ed
mov rax, qword [0x140134898]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Out_of_memory.
lea rcx, [0x140134a20]
call fcn.14000fb70
mov edi, eax
jmp 0x140062f70
xor r10d, r10d
mov qword [rbp - 0x40], r10
mov qword [rbp - 0x38], rax
mov word [rbp - 0x30], r10w
mov dword [rsp + 0x30], 4
mov qword [rbp - 0x70], r10
mov rax, qword [0x14012c398]
mov qword [rbp - 0x68], rax
lea rcx, [rbp - 0x40]
mov qword [rax + 0x18], rcx
test bl, bl
je 0x140062eeb
lea ebx, [r10 + 2]
nop dword [rax + rax]
mov ecx, dword [rsp + 0x4c]
mov rsi, qword [rsp + 0x70]
test ecx, ecx
je 0x140062966
test rsi, rsi
jne 0x140062966
mov r8d, ecx
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x20]
xor r10d, r10d
mov ecx, r10d
mov dword [rsp + 0x4c], ecx
mov rsi, qword [rsp + 0x70]
mov word [rsp + 0x6e], r10w
mov edi, r10d
mov r12d, dword [rsp + 0x54]
mov r14d, r10d
cmp r12d, 0x4b0
sete r14b
inc r14d
mov dword [rsp + 0x34], r14d
mov r13d, r14d
mov r9, qword [rsp + 0x78]
test rsi, rsi
jne 0x1400629cc
mov ebx, 0x2000
test r9, r9
jne 0x1400629b9
mov ecx, ebx
call fcn.1400ca1ac
mov r9, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140062a1d
mov ecx, dword [rsp + 0x4c]
lea eax, [rcx + 0x2000]
cmp eax, ebx
jbe 0x1400629c5
sub ebx, ecx
mov edx, ecx
add rdx, r9
jmp 0x140062a37
mov eax, r13d
mov r8d, ecx
sub r8, rax
add r8, r9
cmp rsi, r8
jbe 0x140062a80
mov eax, r9d
sub eax, esi
add ecx, eax
mov dword [rsp + 0x4c], ecx
mov r8d, ecx
mov rdx, rsi
mov rcx, r9
call fcn.1400e78c0
mov ebx, 0x2000
mov r9, qword [rsp + 0x78]
test r9, r9
jne 0x140062a23
mov ecx, ebx
call fcn.1400ca1ac
mov r9, rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x140062a23
mov ecx, dword [rsp + 0x4c]
jmp 0x140062a5e
mov ecx, dword [rsp + 0x4c]
lea eax, [rcx + 0x2000]
cmp eax, ebx
jbe 0x140062a33
sub ebx, ecx
lea rdx, [r9 + rcx]
mov rax, qword [rsp + 0x40]
mov r8d, ebx
lea rcx, [rsp + 0x40]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
test eax, eax
mov ecx, dword [rsp + 0x4c]
je 0x140062a55
add ecx, eax
mov dword [rsp + 0x4c], ecx
mov r9, qword [rsp + 0x78]
mov dword [rsp + 0x50], eax
mov rsi, r9
mov qword [rsp + 0x70], r9
cmp ecx, r13d
setae al
xor r10d, r10d
test al, al
jne 0x140062a7b
test ecx, ecx
je 0x140062cd7
mov ebx, 2
mov r13d, r14d
mov r15d, ecx
add r15, r9
cmp r12d, 0x4b0
jne 0x140062aa9
movzx eax, r15b
sub al, sil
test al, 1
je 0x140062aa9
dec r15
cmp r15, rsi
je 0x140062cba
cmp rsi, r15
jae 0x140062c34
cmp edi, 0xffff
jae 0x140062c8e
cmp r12d, 0x4b0
jne 0x140062ad4
movzx ecx, word [rsi]
mov word [rsp + 0x38], cx
jmp 0x140062b94
mov ebx, 1
movsx edx, byte [rsi]
cmp dl, 0x80
jae 0x140062aee
movzx ecx, dx
mov word [rsp + 0x38], dx
jmp 0x140062b94
cmp r12d, 0xfde9
jne 0x140062b43
movzx eax, dl
and al, 0xe0
cmp al, 0xc0
jne 0x140062b09
mov ecx, 2
mov ebx, ecx
jmp 0x140062b57
movzx eax, dl
and al, 0xf0
cmp al, 0xe0
jne 0x140062b1c
mov ebx, 3
lea ecx, [rbx - 1]
jmp 0x140062b57
and dl, 0xf8
cmp dl, 0xf0
jne 0x140062b2e
mov ebx, 4
lea ecx, [rbx - 2]
jmp 0x140062b57
mov byte [rsp + 0x6c], bl
mov eax, edi
mov ecx, 0xfffd
mov word [rbp + rax*2 - 0x30], cx
jmp 0x140062bef
lea rcx, [rsp + 0x40]
call fcn.1400a2c00
test al, al
mov ecx, 2
cmovne ebx, ecx
mov eax, ebx
add rax, rsi
cmp rax, r15
ja 0x140062c56
mov dword [rsp + 0x28], ecx
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8, rsi
mov edx, 8
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rcx, eax
cmp ecx, 1
jne 0x140062bad
movzx ecx, word [rsp + 0x38]
cmp cx, 0xa
je 0x140062d17
cmp cx, 0xd
je 0x140062c05
mov eax, edi
mov word [rbp + rax*2 - 0x30], cx
jmp 0x140062bef
mov eax, edi
lea r9, [rbp - 0x30]
lea r9, [r9 + rax*2]
test ecx, ecx
je 0x140062be4
lea r14d, [rcx + rdi]
cmp r14d, 0xffff
ja 0x140062d43
mov r8, rcx
add r8, r8
lea rdx, [rsp + 0x38]
mov rcx, r9
call fcn.1400e78c0
mov edi, r14d
jmp 0x140062bf1
mov byte [rsp + 0x6c], 1
mov word [r9], 0xfffd
inc edi
mov eax, ebx
add rsi, rax
cmp rsi, r15
jae 0x140062c4a
mov ebx, 2
jmp 0x140062ab2
mov r14d, dword [rsp + 0x34]
lea r13d, [r14 + r14]
mov eax, r13d
add rax, rsi
cmp rax, r15
jbe 0x140062cec
cmp dword [rsp + 0x50], 0
je 0x140062d06
mov r9, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x4c]
cmp rsi, r15
jne 0x140062c9c
xor r10d, r10d
mov ecx, r10d
mov dword [rsp + 0x4c], ecx
mov esi, r10d
mov qword [rsp + 0x70], r10
jmp 0x140062ca4
mov r9, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x34]
jmp 0x140062c2d
mov r9, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x34]
cmp dword [rsp + 0x50], 0
jne 0x140062c89
xor r10d, r10d
mov ecx, r10d
mov dword [rsp + 0x4c], ecx
mov esi, r10d
mov byte [rsp + 0x6c], 1
mov eax, edi
mov edx, 0xfffd
mov word [rbp + rax*2 - 0x30], dx
inc edi
jmp 0x140062c31
mov r13d, ebx
jmp 0x140062c2d
mov r9, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x4c]
mov r14d, dword [rsp + 0x34]
mov qword [rsp + 0x70], rsi
xor r10d, r10d
cmp edi, 0xffff
jae 0x140062d51
mov ebx, 2
jmp 0x140062992
mov qword [rsp + 0x70], r10
mov dword [rsp + 0x4c], r10d
mov byte [rsp + 0x6c], 1
mov eax, edi
mov ecx, 0xfffd
mov word [rbp + rax*2 - 0x30], cx
inc edi
xor r15d, r15d
cmp edi, 0xffff
jae 0x140062d54
mov eax, edi
mov word [rbp + rax*2 - 0x30], r10w
jmp 0x140062d54
cmp r12d, 0x4b0
jne 0x140062cfb
movzx eax, word [rsi + 2]
jmp 0x140062cff
movsx eax, byte [rsi + 1]
cmp eax, 0xa
jne 0x140062d06
add ebx, ebx
test byte [rsp + 0x48], 8
je 0x140062d17
mov eax, 0xa
mov word [rsp + 0x38], ax
movsxd rax, ebx
add rax, rsi
mov qword [rsp + 0x70], rax
mov eax, edi
mov ecx, 0xa
mov word [rbp + rax*2 - 0x30], cx
inc edi
xor r15d, r15d
cmp edi, 0xffff
jae 0x140062d54
mov word [rbp + rdi*2 - 0x30], r15w
jmp 0x140062d54
mov qword [rsp + 0x70], rsi
xor r15d, r15d
mov word [r9], r15w
jmp 0x140062d54
xor r15d, r15d
mov eax, edi
test edi, edi
je 0x140062ecb
cmp word [rbp + rax*2 - 0x32], 0xa
jne 0x140062d69
dec rax
mov word [rbp + rax*2 - 0x30], r15w
mov rsi, qword [rbp + 0x20020]
mov rcx, qword [rsi + 0x20]
cmp byte [rcx], 3
jne 0x140062dbb
mov ebx, 2
nop dword [rax]
nop dword [rax + rax]
lea r9, [rbp - 0x70]
mov r8, qword [rbp + 0x20028]
mov edx, ebx
mov rcx, qword [rcx + 0x20]
call fcn.14005eb30
mov edi, eax
mov dword [rsp + 0x30], eax
mov rcx, qword [rsi + 0x20]
mov rax, qword [rbp - 0x70]
cmp rax, rcx
je 0x140062d90
jmp 0x140062ddf
lea r9, [rbp - 0x70]
mov r8, qword [rbp + 0x20028]
mov edx, 3
call fcn.14005eb30
mov edi, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x70]
mov ebx, 2
test rax, rax
je 0x140062dfd
cmp edi, 6
jne 0x140062dee
cmp rax, rsi
je 0x140062e02
mov r14, qword [rbp + 0x20030]
mov qword [r14], rax
jmp 0x140062edd
cmp edi, 6
jne 0x140062e0c
mov dword [rsp + 0x30], 1
jmp 0x140062e15
cmp edi, 1
jne 0x140062ed6
mov rdi, qword [rbp + 0x20038]
test rdi, rdi
je 0x140062eb5
mov qword [0x1401351b8], rdi
mov rax, qword [0x14012c398]
cmp byte [rax + 0xc6], 0
je 0x140062e7e
movsxd rax, dword [0x140134680]
lea r14, [0x140000000]
mov qword [r14 + rax*8 + 0x133a00], rdi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsxd rdx, dword [0x140134680]
mov dword [r14 + rdx*4 + 0x1333c0], eax
inc edx
mov dword [0x140134680], edx
cmp edx, 0x190
jl 0x140062e7e
mov dword [0x140134680], r15d
cmp qword [0x14012ecf0], 0xffffffffffffffff
je 0x140062e90
mov rdx, rdi
call fcn.1400087d0
xor edx, edx
mov rcx, rdi
call fcn.14007b820
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, 1
jne 0x140062ed6
mov rcx, qword [0x1401346a0]
call fcn.14006c030
test eax, eax
jne 0x140062ec4
mov rax, qword [rbp - 0x68]
inc qword [rax]
xor r10d, r10d
jmp 0x140062930
mov edi, 5
jmp 0x140062f14
mov edi, dword [rsp + 0x30]
mov rsi, qword [rbp + 0x20020]
mov r14, qword [rbp + 0x20030]
cmp edi, 4
jne 0x140062f14
mov rdi, qword [rbp + 0x20028]
jmp 0x140062eee
xor r15d, r15d
mov rcx, qword [rsi + 0x28]
cmp byte [rcx], 0xc
jne 0x140062f0f
mov r9, r14
mov r8, rdi
mov edx, 3
mov rcx, qword [rcx + 0x20]
call fcn.14005eb30
mov edi, eax
jmp 0x140062f14
mov edi, 1
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x140062f60
mov r8d, dword [rbx + 0xc]
test r8d, r8d
je 0x140062f3e
cmp qword [rbx + 0x30], 0
jne 0x140062f3e
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x38]
mov rcx, rbx
call qword [rax + 0x20]
mov dword [rbx + 0xc], r15d
mov word [rbx + 0x2e], r15w
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WSOCK32.dll_recv]
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140062f60
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp - 0x38]
call fcn.1400ca198
lea r12, vtable.TextStream.0
lea rax, vtable.TextFile.0
mov qword [rsp + 0x40], rax
mov r8d, dword [rsp + 0x4c]
test r8d, r8d
je 0x140062fb1
cmp qword [rsp + 0x70], 0
jne 0x140062fb1
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x30]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rsp + 0x4c], r15d
mov word [rsp + 0x6e], r15w
mov rcx, qword [rbp - 0x80]
cmp rcx, 0xffffffffffffffff
je 0x140062fdf
mov eax, dword [rsp + 0x48]
and eax, 0x10000003
cmp eax, 0x10000000
je 0x140062fd7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x80], 0xffffffffffffffff
mov qword [rsp + 0x40], r12
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140062ff4
call fcn.1400ca198
nop
mov eax, edi
add rsp, 0x200d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret