Function at 0x180172201
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
cmc
jmp 0x180172234
push rbp
sar bpl, cl
push rsi
push rdi
bt rbp, 0x15
rol bpl, cl
push r12
inc bpl
or r12b, 0x12
cmp r9d, edx
push r13
push r14
xor r14b, 0xc9
movsxd rbp, eax
stc
push r15
bts r15, rbp
shr r13b, 0x6e
neg ebp
lea rbp, [rax - 0x57]
xchg si, r14w
setbe sil
btc si, 0x7f
sub rsp, 0xd0
movsx rsi, r15w
mov qword [rbp - 9], 0xfffffffffffffffe
mov qword [rax + 8], rbx
setge r14b
movzx r14w, r10b
mov rax, qword [0x18009a010]
movsx si, sil
btc si, 0x82
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rsi, r8
mov qword [rbp - 0x41], r8
xor r15, 0x557b702b
movsx ebx, r12w
movsxd r14, edx
cmc
adc r15d, edi
sbb ebx, 0x7107450f
mov rbx, rcx
mov rax, qword [rbp + 0x7f]
cmc
and r15b, r15b
mov qword [rbp - 0x59], rax
dec r15b
sal r15w, 8
mov rax, r14
add r12b, 0x21
movzx cx, r10b
bts r15w, bx
mov r13, r14
clc
sar r13, 6
mov qword [rbp - 0x39], r13
bts r12w, r8w
lea rcx, [0x180000000]
bts r12, rdi
bsf r15w, bx
and eax, 0x3f
bt r12d, r15d
shl r15b, cl
rcl r15w, cl
lea r15, [rax + rax*8]
bts r12w, bp
shrd ax, bp, 0xc4
mov rax, qword [rcx + r13*8 + 0x9c930]
rcr r12b, cl
mov rax, qword [rax + r15*8 + 0x28]
rol r12, cl
cmp r12b, r15b
mov qword [rbp - 0x19], rax
mov r12d, r9d
add r12, r8
jmp 0x180172358
mov qword [rbp - 0x61], r12
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [rbp - 0x49], eax
rol r10w, cl
movsx r10w, dl
xor edi, edi
movsx r10d, ax
bsf r10w, si
sbb r10b, bl
mov r10, qword [rbp - 0x59]
stc
cmp byte [r10 + 0x28], dil
jmp 0x18017238a
jne 0x1801723a1
mov rcx, r10
jmp 0x180172398
call fcn.180167e90
mov r10, qword [rbp - 0x59]
mov rcx, qword [r10 + 0x18]
jmp 0x1801723aa
mov ecx, dword [rcx + 0xc]
jmp 0x1801723b2
mov dword [rbp - 0x45], ecx
cmp bl, sil
sub eax, eax
mov qword [rbx], rax
jmp 0x1801723c6
mov dword [rbx + 8], eax
cmp r13b, r14b
test bp, ax
cmp qword [rbp - 0x41], r12
jmp 0x1801723d8
jae 0x180172ad3
mov r9, r14
not r12b
ror r11b, cl
movsxd rdx, r12d
sar r9, 6
btc r11w, 0x9d
mov qword [rbp - 0x11], r9
mov edx, edi
bts r11w, r10w
mov al, byte [rsi]
btc r11, 0xa5
mov byte [rbp - 0x71], al
add r12b, sil
sbb r11w, bp
mov dword [rbp - 0x6d], edi
mov r12d, 1
add r11b, 0xb
not r11w
bts r11d, r11d
lea r11, [0x180000000]
test r13b, bpl
clc
cmp ecx, 0xfde9
jmp 0x18017243b
jne 0x180172746
mov edx, edi
mov r14, rdi
neg cx
shld cx, r13w, 0xbd
lea rcx, [r15*8 + 0x3e]
cmp r9b, r15b
add rcx, qword [r11 + r9*8 + 0x9c930]
cmp byte [rcx], dil
jmp 0x18017246a
je 0x180172497
inc edx
jmp 0x180172477
inc r14
jmp 0x18017247f
inc rcx
cmp bx, 0x23d1
clc
cmp r14, 5
jmp 0x180172491
jl 0x180172462
test r14, r14
jmp 0x18017249f
jle 0x180172676
mov rax, qword [r11 + r13*8 + 0x9c930]
not r12b
dec cx
movzx ecx, byte [rax + r15*8 + 0x3e]
xchg r12b, al
movsx rax, r10w
cwde
movsx r12d, byte [rcx + r11 + 0x9a8e0]
mov al, al
movzx eax, dx
inc r12d
cdqe
mov eax, r12d
movsx r8d, sp
bsr r8w, r14w
sar r8d, 0x88
sub eax, edx
adc r8b, 0x76
shr dx, 0xc1
cwd
mov dword [rbp - 0x51], eax
adc r8, 0x19ec5f76
mov rdx, qword [rbp - 0x61]
or r8b, 0x9b
sub rdx, rsi
sal r8b, cl
btc r8w, r11w
or r8b, dil
movsxd r8, eax
clc
test sil, 0x34
jmp 0x18017251d
cmp r8, rdx
jg 0x1801729e5
mov rcx, rdi
adc dx, 0xe5b
and dx, bx
xor al, 0xb9
lea rdx, [r15*8 + 0x3e]
add rdx, qword [r11 + r9*8 + 0x9c930]
mov al, 0xbc
mov al, byte [rdx]
jmp 0x18017254c
mov byte [rbp + rcx - 1], al
inc rcx
jmp 0x180172558
inc rdx
cmc
stc
cmp r11b, 0x83
cmp rcx, r14
jmp 0x180172569
jl 0x180172545
test r8, r8
jle 0x1801725b6
lea rcx, [rbp - 1]
adc dx, dx
rcl dx, 0x2c
add rcx, r14
cmovno dx, r9w
mov rdx, rsi
jmp 0x180172593
call fcn.1801648a1
mov r10, qword [rbp - 0x59]
bsf dx, r9w
bts cx, cx
sar dl, cl
lea r11, [0x180000000]
not dl
setns cl
adc ch, 0x2c
mov rdx, rdi
mov rcx, qword [r11 + r13*8 + 0x9c930]
add rcx, rdx
mov byte [rcx + r15*8 + 0x3e], dil
jmp 0x1801725ce
inc rdx
cmc
cmp rdx, r14
jmp 0x1801725da
jl 0x1801725b9
mov qword [rbp - 0x31], rdi
lea rax, [rbp - 1]
ror dh, 0x48
rcl cx, 4
mov qword [rbp - 0x29], rax
cmp ecx, 0x5a502b30
movsx rcx, bx
mov eax, edi
cmp r12d, 4
jmp 0x18017260a
sete al
movsx r12d, r8w
movzx rdx, r12w
cmovbe dx, di
inc eax
mov r12d, eax
mov r8d, eax
mov qword [rsp + 0x20], r10
lea r9, [rbp - 0x31]
bswap ecx
movsxd rdx, ecx
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x6d]
jmp 0x18017263c
call fcn.180173f37
cmp rax, 0xffffffffffffffff
jmp 0x18017264a
je 0x180172ad3
mov eax, dword [rbp - 0x51]
mov cx, 0xaaa
movsx rcx, ax
movsxd rcx, eax
dec eax
bswap cx
btr ecx, esp
movsxd rcx, eax
add rsi, rcx
jmp 0x180172671
jmp 0x180172863
movzx eax, byte [rsi]
movsx r13, byte [rax + r11 + 0x9a8e0]
or r8b, 0x81
lea ecx, [r13 + 1]
sar ax, 0x7d
movsxd r8, r12d
mov r8, qword [rbp - 0x61]
sub r8, rsi
movsxd rax, ecx
cmc
stc
cmp rax, r8
jmp 0x1801726a5
jg 0x180172a38
mov qword [rbp - 0x51], rdi
xor ax, 0x2ef2
btc r14d, 0x12
mov qword [rbp - 0x21], rsi
test r15b, 0x34
shr al, 0xc5
mov eax, edi
and dx, dx
cmp ecx, 4
movsx edx, r9w
movzx dx, bpl
cwd
sete al
inc eax
mov r14d, eax
movsx edx, r12w
movzx cx, dil
not cl
mov r8d, eax
movsx r9d, r15w
mov qword [rsp + 0x20], r10
lea r9, [rbp - 0x51]
mov cl, r8b
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x6d]
call fcn.180173f37
cmp rax, 0xffffffffffffffff
jmp 0x180172712
je 0x180172ad3
add rsi, r13
movzx r13, sp
movzx r12w, r10b
cmova r12, r11
mov r12d, r14d
jmp 0x180172738
mov r13, qword [rbp - 0x39]
jmp 0x180172741
jmp 0x180172863
mov r8, qword [r11 + r13*8 + 0x9c930]
sar cl, cl
ror cl, cl
mov cl, byte [r8 + r15*8 + 0x3d]
jmp 0x18017275c
test cl, 4
jmp 0x180172764
je 0x1801727b3
mov al, byte [r8 + r15*8 + 0x3e]
bt rdx, rsp
rcr dl, 0x16
mov byte [rbp + 7], al
cmc
test r8b, dil
mov al, byte [rsi]
shrd dx, dx, 0x38
movsx edx, r11w
mov byte [rbp + 8], al
and dx, r15w
and cl, 0xfb
jmp 0x180172797
mov byte [r8 + r15*8 + 0x3d], cl
xchg dl, r8b
mov r8d, 2
lea rdx, [rbp + 7]
jmp 0x1801727ae
jmp 0x18017283d
movzx r9d, byte [rsi]
mov rax, qword [r10 + 0x18]
bsf rcx, r15
movzx cx, ch
mov rcx, qword [rax]
cmp word [rcx + r9*2], di
jmp 0x1801727d0
jge 0x180172827
lea r14, [rsi + 1]
cmp al, 0x14
jmp 0x1801727e1
cmp r14, qword [rbp - 0x61]
jmp 0x1801727ea
jae 0x180172a9a
mov r9, r10
mov r8d, 2
movsx rdx, r15w
mov edx, r9d
mov rdx, rsi
lea rcx, [rbp - 0x6d]
call fcn.18016eb05
cmp eax, 0xffffffff
jmp 0x180172814
je 0x180172ad3
mov rsi, r14
jmp 0x180172822
jmp 0x180172863
mov r8, r12
jmp 0x180172835
mov rdx, rsi
movsx cx, r8b
mov r9, r10
movzx ecx, bp
movsx cx, r12b
movzx rcx, si
lea rcx, [rbp - 0x6d]
call fcn.18016eb05
cmp eax, 0xffffffff
jmp 0x18017285d
je 0x180172ad3
inc rsi
sar r9w, cl
cdqe
mov r8b, r14b
mov qword [rsp + 0x38], rdi
adc ax, bp
cbw
bsf r9w, dx
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 5
ror r8b, cl
lea rax, [rbp + 0xf]
shld r8w, sp, 0x99
mov qword [rsp + 0x20], rax
mov r9d, r12d
lea r8, [rbp - 0x6d]
sub edx, edx
mov ecx, dword [rbp - 0x49]
jmp 0x1801728ae
call fcn.18016c48b
mov r14d, eax
cmc
cmp bh, ah
test eax, eax
jmp 0x1801728c0
je 0x180172ad3
mov qword [rsp + 0x20], rdi
cqo
movzx r12w, r13b
lea r9, [rbp - 0x69]
mov r8d, eax
movsx ecx, r11w
lea rdx, [rbp + 0xf]
mov cl, r10b
movzx r12w, spl
mov r12, qword [rbp - 0x19]
movzx cx, bpl
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x180172902
je 0x180172acb
mov edx, esi
clc
sub edx, dword [rbp - 0x41]
add edx, dword [rbx + 8]
cmc
cmp dl, bl
mov dword [rbx + 4], edx
cmc
test r14b, 0xa5
cmp dword [rbp - 0x69], r14d
jmp 0x180172925
jb 0x180172ad3
cmp byte [rbp - 0x71], 0xa
jmp 0x180172934
jne 0x1801729be
mov eax, 0xd
movsxd rdx, r9d
cmovl r8, rsi
mov word [rbp - 0x71], ax
movzx rcx, r10w
jmp 0x180172953
mov qword [rsp + 0x20], rdi
movzx cx, dil
movsxd r8, r15d
lea r9, [rbp - 0x69]
cdq
cmovp ecx, r9d
movsx rcx, r8w
lea r8d, [rax - 0xc]
mov cx, bx
bswap cx
cdq
lea rdx, [rbp - 0x71]
movzx cx, r11b
not cl
mov rcx, r12
jmp 0x18017298b
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x180172998
je 0x180172acb
cmp dword [rbp - 0x69], 1
jmp 0x1801729a7
jb 0x180172ad3
inc dword [rbx + 8]
inc dword [rbx + 4]
mov edx, dword [rbx + 4]
cmp r15, 0x65ae345e
cmc
cmp rsi, qword [rbp - 0x61]
jmp 0x1801729c7
jae 0x180172ad3
mov r10, qword [rbp - 0x59]
mov r9, qword [rbp - 0x11]
movzx ecx, dx
mov ecx, dword [rbp - 0x45]
jmp 0x1801729e0
jmp 0x1801723ff
test rdx, rdx
jmp 0x1801729ed
jle 0x180172a2b
sub rsi, r14
adc cl, r15b
clc
mov rcx, qword [r11 + r13*8 + 0x9c930]
add rcx, r14
mov al, byte [rsi + r14]
mov byte [rcx + r15*8 + 0x3e], al
movsxd rax, edx
inc edi
cmovge rax, rax
inc r14
movsxd rax, edi
cmp rax, rdx
jmp 0x180172a25
jl 0x1801729fa
add dword [rbx + 4], edx
jmp 0x180172a33
jmp 0x180172ad3
test r8, r8
jmp 0x180172a40
jle 0x180172a8c
mov rdx, rdi
cmc
mov r9, qword [rbp - 0x39]
jmp 0x180172a53
mov rcx, qword [r11 + r9*8 + 0x9c930]
shr al, 0x5f
cmp r9b, 0x4c
mov al, 0xad
add rcx, rdx
mov al, byte [rdx + rsi]
mov byte [rcx + r15*8 + 0x3e], al
movzx eax, ax
inc edi
inc rdx
rol ah, 0xba
movsxd rax, edi
clc
cmp rax, r8
jmp 0x180172a86
jl 0x180172a53
add dword [rbx + 4], r8d
jmp 0x180172a95
jmp 0x180172ad3
mov byte [r8 + r15*8 + 0x3e], r9b
movsx rax, cx
sbb al, dil
sal eax, cl
mov rax, qword [r11 + r13*8 + 0x9c930]
cmc
cmp r9w, ax
or byte [rax + r15*8 + 0x3d], 4
mov ax, r8w
cwde
lea eax, [rdx + 1]
mov dword [rbx + 4], eax
jmp 0x180172ad3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx], eax
mov rax, rbx
sub ch, al
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
jmp 0x180172ae4
call fcn.180159e82
mov rbx, qword [rsp + 0x110]
adc bp, sp
bt di, 0xfa
add rsp, 0xd0
bswap bp
movsx r14d, r14w
pop r15
mov r12b, 0x7a
pop r14
mov r12, r8
pop r13
movsx r12, sp
xchg r12w, di
movsxd rsi, edi
pop r12
movzx edi, r10w
movsx esi, di
pop rdi
sets bpl
movzx rbp, r9w
mov bpl, r12b
pop rsi
pop rbp
jmp 0x180172b3a
ret