Function at 0x1400bf980
Capabilities:
Clear file content

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov dword [rsp + 0x20], r9d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov ebp, dword [rsp + 0xa8]
mov rsi, rdx
mov r13, rcx
mov ebx, 4
test ebp, ebp
je 0x1400c07cd
mov r12, qword [rsp + 0xa0]
dec ebp
mov r15, qword [r12]
mov edx, dword [r15 + 0x10]
test edx, edx
je 0x1400bfa02
sub edx, 1
je 0x1400bf9e5
sub edx, 1
je 0x1400bf9e5
sub edx, 2
je 0x1400bf9ee
cmp edx, 1
je 0x1400bfa02
lea r15, [0x14010d28c]
jmp 0x1400bfa05
mov rcx, qword [r15]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001670
mov r15, rax
jmp 0x1400bfa05
mov r15, qword [r15]
mov r8, rbx
lea rdx, str.Read
mov rcx, r15
call fcn.1400e5e84
xor edi, edi
mov edx, 2
test eax, eax
jne 0x1400bfa58
cmp word [r15 + 8], di
lea rcx, [r15 + 8]
jne 0x1400bfa36
lea r14d, [rdx - 1]
jmp 0x1400bfbbf
lea rdx, str.Line
call fcn.1400e5cc0
test eax, eax
mov ecx, 3
mov r14d, 5
cmove r14d, ecx
jmp 0x1400bfbba
mov r8d, 5
lea rdx, str.Write
mov rcx, r15
call fcn.1400e5e84
test eax, eax
jne 0x1400bfaa5
cmp word [r15 + 0xa], di
lea rcx, [r15 + 0xa]
jne 0x1400bfa89
mov edx, 2
mov r14d, edx
jmp 0x1400bfbbf
lea rdx, str.Line
call fcn.1400e5cc0
mov ecx, edi
test eax, eax
setne cl
lea r14d, [rcx + 4]
jmp 0x1400bfbba
lea rdx, str.RawRead
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
jne 0x1400bfac1
lea r14d, [rax + 6]
jmp 0x1400bfbba
lea rdx, str.RawWrite
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
jne 0x1400bfadd
lea r14d, [rax + 6]
jmp 0x1400bfbba
lea rdx, [0x14012aff0]
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
je 0x1400bfbb4
lea rdx, str.Length
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
jne 0x1400bfb10
lea r14d, [rax + 9]
jmp 0x1400bfbba
lea rdx, str.AtEOF
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
jne 0x1400bfb2c
lea r14d, [rax + 0xa]
jmp 0x1400bfbba
lea rdx, str.__Handle
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
jne 0x1400bfb45
lea r14d, [rax + 0xb]
jmp 0x1400bfbba
lea rdx, str.Encoding
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
jne 0x1400bfb5e
lea r14d, [rax + 0xc]
jmp 0x1400bfbba
lea rdx, str.Close
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
jne 0x1400bfb77
lea r14d, [rax + 0xd]
jmp 0x1400bfbba
lea rdx, str.Position
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
je 0x1400bfbb4
lea rdx, str.Seek
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
je 0x1400bfbb4
lea rdx, str.Tell
mov rcx, r15
call fcn.1400e5cc0
test eax, eax
jne 0x1400c07cd
mov r14d, 8
mov edx, 2
mov eax, dword [rsp + 0x98]
test al, 2
jne 0x1400bfbdf
cmp r14d, 7
jb 0x1400c0058
and eax, 1
cmp ebp, eax
jne 0x1400c0058
lea eax, [r14 - 1]
mov dword [rsi + 0x10], 1
cmp eax, 0xc
ja case.0x1400bfca7.69
cdqe
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xc07f0]
add rax, rcx
jmp rax
movzx eax, word [r15]
mov ecx, 0xffdf
sub ax, 0x52
test cx, ax
sete al
movzx r14d, al
xor r14, 1
mov byte [rsp + 0xa8], al
add r14, rbx
lea r14, [r15 + r14*2]
movzx r15d, word [r14]
mov qword [rsp + 0x40], r14
test r15d, 0xffffff80
jne 0x1400bfc53
mov ecx, r15d
call fcn.1400e8e20
test eax, eax
je 0x1400bfc53
and r15d, 0xffffffdf
cmp r15w, 0x55
jne 0x1400bfc63
add r14, 2
mov qword [rsp + 0x40], r14
movzx r14d, word [r14]
test r14d, 0xffffff80
jne 0x1400bfc85
mov edx, 2
mov ecx, r14d
call fcn.1400e8e20
test eax, eax
je 0x1400bfc85
and r14d, 0xffffffdf
add r14d, 0xffffffbd
cmp r14d, 0x10
ja case.0x1400bfca7.69
lea rcx, [0x140000000]
movsxd rax, r14d
mov edx, dword [rcx + rax*4 + 0xc0824]
add rdx, rcx
jmp rdx
mov rcx, qword [rsp + 0x40]
mov dx, gethostname
call fcn.1400e1554
test rax, rax
mov r14d, edi
mov eax, 8
cmovne ebx, eax
jmp 0x1400bfcf0
mov ebx, 2
mov r14d, edi
jmp 0x1400bfcf0
mov ebx, 1
mov r14d, edi
jmp 0x1400bfcf0
mov ebx, 8
mov r14d, edi
jmp 0x1400bfcf0
mov ebx, 8
mov r14d, 1
cmp byte [rsp + 0xa8], dil
je 0x1400bfdbd
lea rcx, [r13 + 0x10]
mov qword [rsp + 0x38], rdi
mov r8d, ebx
lea rdx, [rsp + 0x38]
call fcn.1400bf240
test eax, eax
je case.0x1400bfca7.69
test r14d, r14d
je 0x1400bfd5f
cmp ebx, 4
jne 0x1400bfd43
movss xmm0, dword [rsp + 0x38]
mov eax, 2
cvtps2pd xmm0, xmm0
mov dword [rsi + 0x10], eax
lea eax, [rbx - 3]
movsd qword [rsi], xmm0
jmp 0x1400c07cf
movsd xmm0, qword [rsp + 0x38]
mov eax, 2
mov dword [rsi + 0x10], eax
mov eax, 1
movsd qword [rsi], xmm0
jmp 0x1400c07cf
cmp r15w, 0x55
je 0x1400bfdab
sub ebx, 1
je 0x1400bfd98
sub ebx, 1
je 0x1400bfd85
cmp ebx, 2
jne 0x1400bfdab
movsxd rax, dword [rsp + 0x38]
mov qword [rsi], rax
lea eax, [rbx - 1]
jmp 0x1400c07cf
movsx rax, word [rsp + 0x38]
mov qword [rsi], rax
mov eax, 1
jmp 0x1400c07cf
movsx rax, byte [rsp + 0x38]
mov qword [rsi], rax
mov eax, 1
jmp 0x1400c07cf
mov rax, qword [rsp + 0x38]
mov qword [rsi], rax
mov eax, 1
jmp 0x1400c07cf
cmp ebp, 1
jne case.0x1400bfca7.69
mov r9, qword [r12 + 8]
test r14d, r14d
je 0x1400bfe4b
mov ecx, dword [r9 + 0x10]
sub ecx, ebp
je 0x1400bfe1e
sub ecx, ebp
je 0x1400bfe17
sub ecx, 2
je 0x1400bfe0b
sub ecx, ebp
je 0x1400bfdee
cmp ecx, ebp
jne 0x1400bfe01
xorps xmm0, xmm0
jmp 0x1400bfe26
mov rax, qword [r9 + 8]
test rax, rax
je 0x1400bfe01
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
jmp 0x1400bfe26
mov rcx, qword [r9]
call fcn.140029270
jmp 0x1400bfe26
mov rcx, qword [r9]
xor edx, edx
call fcn.140029510
jmp 0x1400bfe26
movsd xmm0, qword [r9]
jmp 0x1400bfe26
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [r9]
movsd qword [rsp + 0x38], xmm0
lea r15, [0x14010d28c]
cmp ebx, 4
jne 0x1400bfed9
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x38], xmm0
jmp 0x1400bfed9
cmp ebx, 8
jne 0x1400bfec3
cmp r15w, 0x55
jne 0x1400bfec3
mov ecx, dword [r9 + 0x10]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x1400bfec3
test ecx, ecx
je 0x1400bfeaf
sub ecx, 1
je 0x1400bfe7b
sub ecx, 1
je 0x1400bfe7b
sub ecx, 2
je 0x1400bfe8f
cmp ecx, 1
je 0x1400bfeaf
lea r15, [0x14010d28c]
mov rax, r15
mov rcx, rax
call fcn.140052660
jmp 0x1400bfed4
mov rcx, qword [r9]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001670
mov rcx, rax
lea r15, [0x14010d28c]
call fcn.140052660
jmp 0x1400bfed4
mov rax, qword [r9]
lea r15, [0x14010d28c]
mov rcx, rax
call fcn.140052660
jmp 0x1400bfed4
xor edx, edx
mov rcx, r9
call fcn.140082a80
lea r15, [0x14010d28c]
mov qword [rsp + 0x38], rax
lea rcx, [r13 + 0x10]
call fcn.1400beb70
test al, al
jne 0x1400bfeea
mov ebx, edi
jmp 0x1400bff43
mov ecx, dword [r13 + 0x1c]
mov eax, 0x2000
sub eax, ecx
cmp ebx, eax
jae 0x1400bff10
add rcx, qword [r13 + 0x48]
lea rdx, [rsp + 0x38]
mov r8d, ebx
call fcn.1400e1c80
add dword [r13 + 0x1c], ebx
jmp 0x1400bff3f
test ecx, ecx
je 0x1400bff2a
mov rax, qword [r13 + 0x10]
mov r8d, ecx
mov rdx, qword [r13 + 0x48]
lea rcx, [r13 + 0x10]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], edi
mov rax, qword [r13 + 0x10]
lea rdx, [rsp + 0x38]
mov r8d, ebx
lea rcx, [r13 + 0x10]
call qword [rax + 0x20]
mov ebx, eax
test ebx, ebx
jne 0x1400bff57
mov rax, qword [0x140145a80]
test byte [rax + 0x140], 1
jne 0x1400c047b
mov eax, ebx
mov qword [rsi], rax
mov eax, 1
jmp 0x1400c07cf
cmp ebp, 1
jg case.0x1400bfca7.69
test ebp, ebp
je 0x1400bff84
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.140082a80
mov rbp, rax
jmp 0x1400bfff3
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + gethostname]
mov r14, rax
cmp qword [r13 + 0x40], rdi
jne 0x1400bffb8
cmp dword [r13 + 0x1c], edi
je 0x1400bffb8
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rbp, rax
mov eax, dword [r13 + 0x1c]
add rbp, rax
cmp rbp, r14
jg 0x1400bffbb
mov rbp, r14
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rdx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400bffd4
mov rbx, rax
jmp 0x1400bfff1
mov rax, qword [r13 + 0x40]
mov ecx, dword [r13 + 0x1c]
test rax, rax
je 0x1400bffea
sub rax, qword [r13 + 0x48]
sub rax, rcx
jmp 0x1400bffed
mov rax, rcx
lea rbx, [rax + rdx]
sub ebp, ebx
mov ecx, 0xffffffff
cmp ebp, ecx
je case.0x1400bfca7.69
mov ebx, ebp
cmp rbx, 0xff
ja 0x1400c0011
mov rax, qword [rsi + 8]
jmp 0x1400c002f
lea rcx, [rbx*2 + 2]
call fcn.1400e5e30
mov qword [rsi + 0x18], rax
test rax, rax
je case.0x1400bfca7.69
mov qword [rsi + 8], rbx
mov qword [rsi], rax
xor r9d, r9d
mov word [rax + rbx*2], di
mov r8d, ebp
mov rdx, qword [rsi]
lea rcx, [r13 + 0x10]
call fcn.1400bee10
mov ecx, eax
mov rax, qword [rsi]
mov dword [rsi + 0x10], edi
mov word [rax + rcx*2], di
mov qword [rsi + 8], rcx
mov eax, 1
jmp 0x1400c07cf
test ebp, ebp
jne case.0x1400bfca7.69
mov ecx, 0x20002
call fcn.1400e5e30
mov qword [rsi + 0x18], rax
test rax, rax
je case.0x1400bfca7.69
mov qword [rsi + 8], 0x10000
lea r9d, [rbp + 1]
mov qword [rsi], rax
mov r8d, 0xffff
mov word [rax + 0x20000], di
jmp 0x1400c003c
cmp ebp, 1
jg case.0x1400bfca7.69
mov r15d, edi
mov ebx, edi
test ebp, ebp
je 0x1400c0151
mov rdx, qword [rsi + 8]
mov rcx, qword [r12 + 8]
call fcn.140082b70
mov rbx, qword [r12 + 8]
mov rbp, rax
cmp dword [rbx + 0x10], 4
jne 0x1400c0126
mov rbx, qword [rbx]
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x1400c00e6
mov rax, qword [rbx + 0x10]
movzx ecx, byte [rax + 0x21]
jmp 0x1400c00ea
movzx ecx, byte [rbx + 0x21]
test cl, 1
jne 0x1400c0126
test dl, dl
jne 0x1400c00f7
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 1
jne 0x1400c0117
test byte [rbx + 0x21], 8
je 0x1400c010b
mov rcx, rbx
call fcn.140001510
add rbx, 0x10
mov rbx, qword [rbx]
shr rbx, 1
jmp 0x1400c013a
lea rbx, [0x14014fed8]
mov rbx, qword [rbx]
shr rbx, 1
jmp 0x1400c013a
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp word [rbp + rbx*2], di
jne 0x1400c0130
add r13, 0x10
mov r8d, ebx
mov rcx, r13
mov rdx, rbp
call fcn.1400bf3f0
mov r15d, eax
jmp 0x1400c0155
add r13, 0x10
cmp r14d, 4
jne 0x1400c017e
test r15d, r15d
jne 0x1400c0164
test ebx, ebx
jne 0x1400c0187
mov r8d, 1
lea rdx, [0x14012c804]
mov rcx, r13
inc ebx
call fcn.1400bf3f0
add r15d, eax
test r15d, r15d
jne 0x1400c019b
test ebx, ebx
je 0x1400c019b
mov rax, qword [0x140145a80]
test byte [rax + 0x140], 1
jne case.0x1400bfca7.69
mov eax, r15d
mov qword [rsi], rax
mov eax, 1
jmp 0x1400c07cf
cmp ebp, 2
jne case.0x1400bfca7.69
movzx eax, word [r15 + 6]
mov ecx, 0xffdf
mov rbx, qword [r12 + 8]
sub ax, 0x52
test cx, ax
mov rcx, qword [r12 + 0x10]
sete r14b
xor edx, edx
call fcn.140082a80
cmp dword [rbx + 0x10], 4
mov rbp, rax
jne 0x1400c02fe
mov rcx, qword [rbx]
cmp byte [rcx + 0x23], dil
jne 0x1400c01f6
mov rax, qword [rcx + 0x10]
jmp 0x1400c01f9
mov rax, rcx
cmp byte [rax + 0x23], 2
mov edx, dword [0x14014e588]
je 0x1400c0209
mov rdx, qword [rax + 0x18]
mov eax, ebp
cmp rax, rdx
jbe 0x1400c0255
test r14b, r14b
je 0x1400c0234
mov r8d, eax
mov byte [rsp + 0x20], dil
shr r8, 1
and eax, 1
add r8, rax
xor r9d, r9d
xor edx, edx
call fcn.1400c6a70
test eax, eax
jne 0x1400c0255
mov rax, qword [0x140145a80]
test byte [rax + 0x140], 1
jne case.0x1400bfca7.69
mov qword [rsi], rdi
mov eax, 1
jmp 0x1400c07cf
mov rbx, qword [rbx]
cmp byte [rbx + 0x23], dil
jne 0x1400c0262
mov rbx, qword [rbx + 0x10]
test byte [rbx + 0x21], 8
je 0x1400c0270
mov rcx, rbx
call fcn.140001510
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x1400c028c
test byte [rbx + 0x21], 4
je 0x1400c0286
mov rdx, rbx
call fcn.140051510
mov rdx, qword [rbx + 8]
jmp 0x1400c030b
cmp al, 2
jne 0x1400c02f5
mov rdx, qword [0x14014e578]
test rdx, rdx
jne 0x1400c030b
lea ecx, [rdx + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x1400c02cb
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
lea r15, [0x14010d28c]
test eax, eax
lea rcx, [0x14010d280]
mov rdx, r15
cmovne rdx, rcx
jmp 0x1400c0312
xor edx, edx
lea rcx, [0x14014e560]
call fcn.140006370
mov ecx, 0xffffffff
lea r15, [0x14010d28c]
cmp rax, rcx
mov rdx, r15
cmovne rdx, qword [0x14014e570]
jmp 0x1400c0312
lea rdx, [0x14014c858]
jmp 0x1400c030b
xor edx, edx
mov rcx, rbx
call fcn.140082a80
mov rdx, rax
lea r15, [0x14010d28c]
cmp rdx, 0x10000
jae 0x1400c031f
mov ecx, edi
jmp 0x1400c033d
lea rcx, [r13 + 0x10]
mov r8d, ebp
test r14b, r14b
je 0x1400c0332
call fcn.1400bf240
jmp 0x1400c0337
call fcn.1400bf640
mov ecx, eax
test eax, eax
jne 0x1400c0355
test ebp, ebp
je 0x1400c0355
mov rax, qword [0x140145a80]
test byte [rax + 0x140], 1
jne 0x1400c047b
mov eax, ecx
mov qword [rsi], rax
mov eax, 1
jmp 0x1400c07cf
test ebp, ebp
jne 0x1400c03c3
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rdx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400c038a
mov rbx, rax
mov qword [rsi], rax
lea eax, [rbp + 1]
jmp 0x1400c07cf
mov rax, qword [r13 + 0x40]
mov ecx, dword [r13 + 0x1c]
test rax, rax
je 0x1400c03af
sub rax, qword [r13 + 0x48]
sub rax, rcx
lea rbx, [rdx + rax]
mov eax, 1
mov qword [rsi], rbx
jmp 0x1400c07cf
mov rax, rcx
lea rbx, [rdx + rcx]
mov qword [rsi], rbx
mov eax, 1
jmp 0x1400c07cf
cmp ebp, 2
jg case.0x1400bfca7.69
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.140082a80
mov r14, rax
cmp ebp, 2
jne 0x1400c03f1
mov rcx, qword [r12 + 0x10]
xor edx, edx
call fcn.140082a80
mov rbp, rax
jmp 0x1400c03fe
test r14, r14
mov ebp, edi
mov ecx, 2
cmovs ebp, ecx
mov rdx, qword [r13 + 0x40]
mov r8d, dword [r13 + 0x1c]
test rdx, rdx
je 0x1400c042a
sub rdx, qword [r13 + 0x48]
lea rcx, [r13 + 0x10]
mov r9, qword [r13 + 0x10]
sub rdx, r8
mov r8d, 1
call qword [r9 + 0x28]
mov qword [r13 + 0x40], rdi
jmp 0x1400c043e
test r8d, r8d
je 0x1400c0442
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], edi
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov r8d, ebp
mov word [r13 + 0x3c], di
mov rdx, r14
call qword [rax + 0x28]
test al, al
jne 0x1400c0611
mov rax, qword [0x140145a80]
test byte [rax + 0x140], 1
je 0x1400c0616
lea r15, [0x14010d28c]
mov rax, qword [0x140145a80]
mov dword [rsi + 0x10], edi
test byte [rax + 0x140], 1
je 0x1400c0058
mov rcx, qword [0x14014dfb0]
lea r8, str.FileObject
mov r9, r15
lea rdx, [0x14012296c]
call fcn.140050010
mov eax, 1
jmp 0x1400c07cf
test ebp, ebp
jne 0x1400c0502
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + gethostname]
cmp qword [r13 + 0x40], 0
mov rdi, rax
jne 0x1400c04f2
cmp dword [r13 + 0x1c], ebp
je 0x1400c04f2
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rcx, rax
mov eax, dword [r13 + 0x1c]
add rcx, rax
cmp rcx, rdi
jg 0x1400c04f5
mov rcx, rdi
mov qword [rsi], rcx
mov eax, 1
jmp 0x1400c07cf
cmp ebp, 1
jne case.0x1400bfca7.69
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.140082a80
mov rdx, qword [r13 + 0x40]
mov r14, rax
mov r8d, dword [r13 + 0x1c]
test rdx, rdx
je 0x1400c0543
sub rdx, qword [r13 + 0x48]
lea rcx, [r13 + 0x10]
mov r9, qword [r13 + 0x10]
sub rdx, r8
mov r8d, ebp
call qword [r9 + 0x28]
mov qword [r13 + 0x40], rdi
jmp 0x1400c0557
test r8d, r8d
je 0x1400c055b
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], edi
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov word [r13 + 0x3c], di
call qword [rax + 0x30]
xor r8d, r8d
lea rcx, [r13 + 0x10]
mov rbp, rax
mov rdx, r14
mov rax, qword [r13 + 0x10]
call qword [rax + 0x28]
test al, al
je 0x1400c05c1
mov rcx, qword [r13 + 0x50]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x1400c05c1
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
cmp r14, rbp
cmovl rbp, r14
xor r8d, r8d
mov rdx, rbp
call qword [rax + 0x28]
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + gethostname]
mov qword [rsi], rax
cmp rax, 0xffffffffffffffff
jne 0x1400c0058
lea r15, [0x14010d28c]
mov qword [rsi], r15
jmp 0x1400c047b
test ebp, ebp
jne 0x1400c0058
mov rcx, qword [r13 + 0x40]
test rcx, rcx
je 0x1400c05ee
mov eax, dword [r13 + 0x1c]
add rax, qword [r13 + 0x48]
cmp rcx, rax
jb 0x1400c0616
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rbp, rax
test rax, rax
js 0x1400c0611
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + gethostname]
cmp rbp, rax
jl 0x1400c0616
mov edi, 1
mov qword [rsi], rdi
mov eax, 1
jmp 0x1400c07cf
test ebp, ebp
jne 0x1400c0058
mov rdx, qword [r13 + 0x40]
mov r8d, dword [r13 + 0x1c]
test rdx, rdx
je 0x1400c0655
sub rdx, qword [r13 + 0x48]
lea rcx, [r13 + 0x10]
mov r9, qword [r13 + 0x10]
sub rdx, r8
lea r8d, [rbp + 1]
call qword [r9 + 0x28]
mov qword [r13 + 0x40], rdi
jmp 0x1400c0669
test r8d, r8d
je 0x1400c066d
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], edi
mov rax, qword [r13 + 0x50]
mov word [r13 + 0x3c], di
mov qword [rsi], rax
mov eax, 1
jmp 0x1400c07cf
test ebp, ebp
jle 0x1400c0721
mov rcx, qword [r12 + 8]
call fcn.1400827a0
mov r9, qword [r12 + 8]
test eax, eax
je 0x1400c06aa
xor edx, edx
mov rcx, r9
call fcn.140082a80
jmp 0x1400c06ee
mov ecx, dword [r9 + 0x10]
test ecx, ecx
je 0x1400c06e3
sub ecx, 1
je 0x1400c06c6
sub ecx, 1
je 0x1400c06c6
sub ecx, 2
je 0x1400c06cf
cmp ecx, 1
je 0x1400c06e3
lea r15, [0x14010d28c]
jmp 0x1400c06e6
mov rcx, qword [r9]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001670
mov r15, rax
jmp 0x1400c06e6
mov r15, qword [r9]
mov rcx, r15
call fcn.14002a8b0
mov ecx, 0xffffffff
cmp eax, ecx
je 0x1400c0721
and eax, 0x7fffffff
cmove eax, dword [0x14014e738]
cmp dword [r13 + 0x24], eax
je 0x1400c0721
lea rdx, [r13 + 0x28]
mov dword [r13 + 0x24], eax
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1400c0721
mov byte [r13 + 0x2e], dil
mov ecx, dword [r13 + 0x24]
cmp ecx, 0x4b0
je 0x1400c076f
cmp ecx, 0xfde9
je 0x1400c075b
mov rbx, qword [rsi + 8]
mov r8d, 0xa
lea rdx, [rbx + 4]
mov dword [rbx], 0x500043
call fcn.1400e5b6c
mov eax, 1
mov dword [rsi + 0x10], edi
mov qword [rsi], rbx
jmp 0x1400c07cf
lea rbx, str.UTF_8
mov dword [rsi + 0x10], edi
mov qword [rsi], rbx
mov eax, 1
jmp 0x1400c07cf
lea rbx, str.UTF_16
mov dword [rsi + 0x10], edi
mov qword [rsi], rbx
mov eax, 1
jmp 0x1400c07cf
test ebp, ebp
jne 0x1400c07b9
mov r8d, dword [r13 + 0x1c]
test r8d, r8d
je 0x1400c07a9
cmp qword [r13 + 0x40], rdi
jne 0x1400c07a9
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], edi
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov word [r13 + 0x3c], di
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
lea r15, [0x14010d28c]
mov dword [rsi + 0x10], edi
mov qword [rsi], r15
mov eax, 1
jmp 0x1400c07cf
mov eax, ebx
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret