Function at 0x180162d79
Capabilities:
Write file on windows

Disassembly:
push rbp
rol bp, cl
push rbx
test r11, 0xd2040e3
push rsi
stc
setbe sil
push rdi
push r12
shl sil, 0x3b
push r13
bt bp, dx
push r14
bt bx, sp
sar r14b, cl
test al, dl
push r15
shl bh, cl
rcr rbx, cl
btc rsi, 0x59
mov rbp, rsp
rcl esi, cl
inc r14d
neg r15w
sub rsp, 0x78
xor edi, edi
mov r14d, r8d
movzx ebx, ax
bsr r15d, ebx
rol r15w, 0x34
movsxd r15, ecx
mov rbx, r9
mov rsi, rdx
test r9w, r12w
test r8d, r8d
je 0x180163354
test rdx, rdx
jmp 0x180162def
jne 0x180162e57
mov byte [r9 + 0x38], 1
test r12b, al
test bh, 0xb8
sub r8d, r8d
clc
cmp ah, 0x11
mov dword [r9 + 0x34], edi
clc
xor edx, edx
test r12b, 0x16
stc
cmp spl, 0x65
mov byte [r9 + 0x30], 1
cmp al, r13b
xor ecx, ecx
cmp dh, 0xc4
clc
mov dword [r9 + 0x2c], 0x16
stc
xor r9d, r9d
mov qword [rsp + 0x28], rbx
jmp 0x180162e3b
mov qword [rsp + 0x20], rdi
jmp 0x180162e45
call fcn.180155015
or eax, 0xffffffff
jmp 0x180162e52
jmp 0x180163356
mov rax, r15
adc cx, 0x22ba
clc
sar r12b, 0x9f
lea rcx, [0x180096a50]
and eax, 0x3f
btr r12w, 0xcd
seta r12b
mov r12, r15
sar r13d, 0xc8
btr r13w, 9
xchg r13w, r13w
sar r12, 6
movzx r13, r12w
mov qword [rbp - 0x18], r12
mov r13d, eax
movzx r13w, al
lea r13, [rax + rax*8]
setb al
mov rcx, qword [rcx + r12*8]
mov al, byte [rcx + r13*8 + 0x39]
jmp 0x180162eb2
mov byte [rbp - 0x48], al
jmp 0x180162eba
dec al
cmp al, 1
jmp 0x180162ec3
ja 0x180162ede
mov eax, r14d
stc
cmp bh, dh
not eax
test al, 1
jmp 0x180162ed8
je 0x180162df5
test byte [rcx + r13*8 + 0x38], 0x20
jmp 0x180162ee9
je 0x180162f0d
xor edx, edx
movsx r8d, ax
movzx rcx, di
mov ecx, r15d
movsxd r8, ebp
lea r8d, [rdx + 2]
jmp 0x180162f08
call fcn.18009e8c8
mov ecx, r15d
jmp 0x180162f15
mov qword [rbp - 0x30], rdi
jmp 0x180162f1e
call fcn.18016357b
lea rdx, [0x180096a50]
jmp 0x180162f2f
test eax, eax
jmp 0x180162f36
je 0x18016314d
mov rax, qword [rdx + r12*8]
jmp 0x180162f49
cmp byte [rax + r13*8 + 0x38], dil
jge 0x18016314d
cmp byte [rbx + 0x28], dil
jmp 0x180162f5d
jne 0x180162f7d
mov rcx, rbx
jmp 0x180162f6b
call fcn.18015766c
lea rdx, [0x180096a50]
bsr ax, di
adc al, ch
mov rax, qword [rbx + 0x18]
cmp r14d, ecx
cmp qword [rax + 0x138], rdi
jmp 0x180162f90
jne 0x180162faf
mov rax, qword [rdx + r12*8]
cmp di, r10w
clc
cmp byte [rax + r13*8 + 0x39], dil
jmp 0x180162fa9
je 0x18016314d
mov rcx, qword [rdx + r12*8]
cqo
bswap edx
lea rdx, [rbp - 0x20]
mov rcx, qword [rcx + r13*8 + 0x28]
jmp 0x180162fc5
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x180162fd2
je 0x18016313e
movsx ecx, byte [rbp - 0x48]
test ecx, ecx
jmp 0x180162fe3
je 0x180163104
sub ecx, 1
jmp 0x180162ff1
je 0x180163005
cmp ecx, 1
jmp 0x180162fff
jne 0x18016327f
lea r12, [rsi + r14]
movsx r15d, cx
sal r15d, 0x17
movzx r15d, r15w
mov qword [rbp - 0x40], rdi
bt r15d, edx
mov r15, rsi
cmp r11b, bpl
cmc
cmp rsi, r12
jmp 0x18016302c
jae 0x1801630f6
mov r14d, dword [rbp - 0x3c]
cbw
cwde
movsx ax, dl
movzx eax, word [r15]
movsxd rcx, r15d
mov rcx, 0x19a2075
movsx rcx, dx
movzx ecx, ax
jmp 0x180163057
mov word [rbp - 0x48], ax
jmp 0x180163060
call fcn.180163bd0
movzx ecx, word [rbp - 0x48]
test bh, 0xfb
cmp ax, cx
jne 0x1801630ed
add r14d, 2
test cl, r9b
jmp 0x180163081
mov dword [rbp - 0x3c], r14d
cmp cx, 0xa
jmp 0x18016308e
jne 0x1801630cd
mov ecx, 0xd
call fcn.180163bd0
mov ecx, 0xd
clc
test ah, 0xad
cmp ax, cx
jmp 0x1801630af
jne 0x1801630ed
inc r14d
jmp 0x1801630bd
mov dword [rbp - 0x3c], r14d
jmp 0x1801630c6
inc edi
jmp 0x1801630cd
add r15, 2
cmp r12w, sp
cmp r15b, 0x85
cmc
cmp r15, r12
jmp 0x1801630e2
jae 0x1801630f6
jmp 0x18016303d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
mov r12, qword [rbp - 0x18]
jmp 0x1801630ff
jmp 0x18016326e
mov r9d, r14d
cqo
mov qword [rsp + 0x20], rbx
setns r8b
mov r8, rsi
lea rcx, [rbp - 0x40]
movsx rdx, ax
movsx dx, r12b
setnp dl
mov edx, r15d
call fcn.180161a11
movsd xmm0, qword [rax]
mov edi, dword [rax + 8]
jmp 0x180163139
jmp 0x180163273
lea rdx, [0x180096a50]
movsxd rcx, ecx
sbb cx, 0x3114
mov rcx, qword [rdx + r12*8]
test r15w, 0x506d
cmp byte [rcx + r13*8 + 0x38], dil
jge 0x180163200
movsx ecx, byte [rbp - 0x48]
cmc
test ecx, ecx
jmp 0x18016316e
je 0x1801631d7
sub ecx, 1
je 0x1801631af
cmp ecx, 1
jne 0x180163286
mov r9d, r14d
not cl
setbe r8b
lea rcx, [rbp - 0x40]
mov r8, rsi
mov edx, r8d
cmovae dx, di
mov edx, r15d
jmp 0x1801631a5
call fcn.180162556
jmp 0x18016312d
mov r9d, r14d
mov r8b, 0x92
cmovo r8w, sp
movsx r8d, cx
lea rcx, [rbp - 0x40]
mov r8, rsi
mov edx, r15d
jmp 0x1801631cd
call fcn.1801627b7
jmp 0x18016312d
mov r9d, r14d
movsxd rcx, r14d
lea rcx, [rbp - 0x40]
xchg r8w, r8w
not r8b
mov r8, rsi
cmovl edx, esp
mov edx, r15d
jmp 0x1801631f6
call fcn.180162326
jmp 0x18016312d
mov rcx, qword [rcx + r13*8 + 0x28]
sub r8b, 0xa
mov r9b, 0xdf
lea r9, [rbp - 0x3c]
bsf dx, bx
shr r8w, 0xb9
ror r8, 0x55
xor eax, eax
mov r8d, r14d
sbb dl, 0x2e
and qword [rsp + 0x20], rax
movsx dx, cl
movsx rdx, bp
xchg dh, dh
mov rdx, rsi
jmp 0x18016323c
mov qword [rbp - 0x40], rax
jmp 0x180163245
mov dword [rbp - 0x38], eax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x180163255
jne 0x180163264
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
mov edi, dword [rbp - 0x38]
dec rdx
cqo
rcr dh, cl
movsd xmm0, qword [rbp - 0x40]
movsd qword [rbp - 0x30], xmm0
cwd
shrd dx, sp, 0x51
lea rdx, [0x180096a50]
mov rax, qword [rbp - 0x30]
shr rax, 0x20
test cx, r8w
test eax, eax
jmp 0x180163299
jne 0x180163345
mov eax, dword [rbp - 0x30]
test rbp, rsp
test eax, eax
jmp 0x1801632ac
je 0x1801632fa
cmp eax, 5
jmp 0x1801632ba
jne 0x1801632dc
mov byte [rbx + 0x30], 1
mov dword [rbx + 0x2c], 9
mov byte [rbx + 0x38], 1
mov dword [rbx + 0x34], eax
jmp 0x1801632d7
jmp 0x180162e4a
mov ecx, dword [rbp - 0x30]
cdq
xchg dx, dx
movsx dx, r8b
mov rdx, rbx
jmp 0x1801632f0
call fcn.180158a1e
jmp 0x180162e4a
mov rax, qword [rdx + r12*8]
stc
test byte [rax + r13*8 + 0x38], 0x40
jmp 0x18016330a
je 0x18016331e
cmp byte [rsi], 0x1a
jmp 0x180163318
je 0x180163354
and dword [rbx + 0x34], 0
mov byte [rbx + 0x30], 1
jmp 0x18016332b
mov dword [rbx + 0x2c], 0x1c
jmp 0x180163337
mov byte [rbx + 0x38], 1
jmp 0x180163340
jmp 0x180162e4a
mov eax, dword [rbp - 0x2c]
sub eax, edi
jmp 0x18016334f
jmp 0x180163356
xor eax, eax
add rsp, 0x78
mov bp, 0x3486
mov bpl, cl
movzx r12w, r13b
pop r15
movzx rdi, r9w
pop r14
mov r13w, 0x3f06
pop r13
movsx rsi, r13w
movsx si, dil
pop r12
movzx rbp, bp
pop rdi
movzx ebp, r9w
pop rsi
pop rbx
movsx ebp, r13w
pop rbp
ret