Function at 0x180145e22
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
cmc
jmp 0x180145e55
push rbp
push rsi
shr bpl, 0x6d
cmc
shr ebp, cl
push rdi
clc
adc sil, 0x50
push r12
sbb r12b, 0x42
movsxd r12, r12d
and rbp, 0x373f04e7
push r13
push r14
push r15
sub r13b, r11b
lea rbp, [rax - 0x57]
inc si
rcr sil, cl
sub rsp, 0xd0
cmp r10b, sil
sub r12b, r13b
jmp 0x180145e99
mov qword [rbp - 9], 0xfffffffffffffffe
dec r14b
mov qword [rax + 8], rbx
mov rax, qword [0x180087010]
xor rax, rsp
mov r14, r8
xadd bx, r13w
sbb r14w, r11w
mov qword [rbp + 0x17], rax
rol r15w, 0xac
mov rsi, r8
mov qword [rbp - 0x41], r8
bswap r13
shld bx, r12w, 0xf1
sub r15b, 0xfc
movsxd r14, edx
movsx r13w, spl
bts ax, r11w
mov rbx, rcx
btc r12d, 0x74
shl r12b, cl
xadd eax, r12d
mov rax, qword [rbp + 0x7f]
xor r15b, 0x60
sbb cx, r13w
mov qword [rbp - 0x59], rax
ror eax, 0x3f
mov rax, r14
rol r12b, cl
and r13w, 0x1b20
ror r15d, 0xbf
mov r13, r14
mov r12w, r13w
xor cl, r12b
movzx r12w, r13b
sar r13, 6
cmovle r15d, r10d
mov qword [rbp - 0x39], r13
bsf cx, bx
bswap rcx
ror r15, cl
lea rcx, [0x180000000]
btc r12d, 0x45
movzx r15, bx
and eax, 0x3f
bsf r12d, r10d
lea r15, [rax + rax*8]
neg eax
dec ah
xor r12b, dil
mov rax, qword [rcx + r13*8 + 0x89a20]
sbb r12, 0x62c0560e
mov rax, qword [rax + r15*8 + 0x28]
bt r12d, ebp
mov qword [rbp - 0x19], rax
sal r12b, 0x8c
rcl r12d, 0x7f
mov r12d, r9d
test r12w, si
test r15b, 0xef
add r12, r8
jmp 0x180145f98
mov qword [rbp - 0x61], r12
jmp 0x180145fa1
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [rbp - 0x49], eax
clc
xor edi, edi
mov r10, qword [rbp - 0x59]
cmp r12b, bl
cmp ah, 0x6d
cmc
cmp byte [r10 + 0x28], dil
jmp 0x180145fc1
jne 0x180145fe2
mov rcx, r10
jmp 0x180145fcf
call fcn.18013b8b9
mov r10, qword [rbp - 0x59]
sal cx, cl
sbb ch, 0xed
bt ecx, 0xa0
mov rcx, qword [r10 + 0x18]
clc
stc
mov ecx, dword [rcx + 0xc]
cmp r11d, ecx
cmc
stc
mov dword [rbp - 0x45], ecx
xor eax, eax
mov qword [rbx], rax
cmp r15d, r14d
test ebx, 0x55be0d8f
mov dword [rbx + 8], eax
cmp qword [rbp - 0x41], r12
jmp 0x18014600d
jae 0x1801466ee
mov r9, r14
sub r11b, r13b
sar r9, 6
bswap r11d
dec al
add dh, 0x28
mov qword [rbp - 0x11], r9
shr al, 0x73
sub al, 0xd1
cmc
mov edx, edi
mov al, byte [rsi]
mov byte [rbp - 0x71], al
mov r11d, r12d
mov dword [rbp - 0x6d], edi
adc r11w, di
or r11b, r14b
mov r12d, 1
sal r11w, cl
lea r11, [0x180000000]
cmp ecx, 0xfde9
jmp 0x18014605f
jne 0x180146338
mov edx, edi
mov r14, rdi
shl ch, 4
lea rcx, [r15*8 + 0x3e]
add rcx, qword [r11 + r9*8 + 0x89a20]
clc
cmp byte [rcx], dil
je 0x1801460a6
inc edx
jmp 0x18014608e
inc r14
jmp 0x180146096
inc rcx
test r15d, edi
cmp r14, 5
jl 0x18014607e
test r14, r14
jmp 0x1801460ae
jle 0x180146282
mov rax, qword [r11 + r13*8 + 0x89a20]
mov cx, 0x4d6d
mov r8b, sil
movsx r12d, r14w
movzx ecx, byte [rax + r15*8 + 0x3e]
xchg r8w, r8w
mov r8w, 0x8c1
movsx r12d, byte [rcx + r11 + 0x878e0]
inc r8w
cbw
inc r12d
test r14w, sp
mov eax, r12d
xor r8b, r12b
cmp bp, sp
sub eax, edx
sar dl, 0xb3
clc
mov dword [rbp - 0x51], eax
setns dl
mov rdx, qword [rbp - 0x61]
shr r8w, 0x2f
shr r8b, cl
or r8w, r11w
sub rdx, rsi
movsxd r8, eax
cmp cl, r15b
stc
cmp r8, rdx
jmp 0x180146123
jg 0x1801465de
mov rcx, rdi
shl dx, cl
lea rdx, [r15*8 + 0x3e]
add rdx, qword [r11 + r9*8 + 0x89a20]
mov al, al
mov al, byte [rdx]
jmp 0x180146148
mov byte [rbp + rcx - 1], al
jmp 0x180146151
inc rcx
jmp 0x180146159
inc rdx
clc
cmp rcx, r14
jmp 0x180146165
jl 0x180146141
test r8, r8
jmp 0x180146173
jle 0x1801461b0
lea rcx, [rbp - 1]
sub rdx, 0x2d3b104b
btr dx, 0x2b
movsx edx, r13w
add rcx, r14
cqo
xchg dx, dx
mov rdx, rsi
jmp 0x18014619d
call fcn.180138185
mov r10, qword [rbp - 0x59]
rol r11b, cl
lea r11, [0x180000000]
mov rdx, rdi
and ch, 0x9b
cmc
test rbp, 0x5151683d
mov rcx, qword [r11 + r13*8 + 0x89a20]
add rcx, rdx
mov byte [rcx + r15*8 + 0x3e], dil
jmp 0x1801461d3
inc rdx
clc
cmp dil, 0xab
jmp 0x1801461e0
cmp rdx, r14
jmp 0x1801461e8
jl 0x1801461be
mov qword [rbp - 0x31], rdi
setae cl
cmc
lea rax, [rbp - 1]
btc r8w, bx
inc r9w
bsf cx, r10w
mov qword [rbp - 0x29], rax
mov eax, edi
bswap r9
rol al, cl
cmp r12d, 4
sete al
cdq
inc eax
jmp 0x180146222
mov r12d, eax
cwd
mov edx, 0x1c4864ca
setge r9b
mov r8d, eax
mov qword [rsp + 0x20], r10
cwd
cqo
lea r9, [rbp - 0x31]
lea rdx, [rbp - 0x29]
not ch
movzx ecx, r15w
movsx ecx, di
lea rcx, [rbp - 0x6d]
call fcn.180147aca
cmp rax, 0xffffffffffffffff
jmp 0x18014625f
je 0x1801466ee
mov eax, dword [rbp - 0x51]
not ch
dec eax
rcr cl, 0xe3
bts cx, bp
stc
movsxd rcx, eax
clc
cmp al, 0xd5
add rsi, rcx
jmp 0x180146439
movzx eax, byte [rsi]
movsx r13, byte [rax + r11 + 0x878e0]
lea ecx, [r13 + 1]
movsx rax, cx
bt ax, r11w
mov r8, qword [rbp - 0x61]
btr eax, esi
sub r8, rsi
rcr ax, 0xcb
test ecx, r10d
movsxd rax, ecx
cmp rax, r8
jmp 0x1801462b7
jg 0x180146640
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x21], rsi
sar r8d, 0xc6
mov eax, edi
movsx dx, sil
stc
cmp ecx, 4
movsxd r8, ebp
cqo
sete al
movsx r14, r9w
movsx r9d, r10w
inc eax
mov r14d, eax
movzx rdx, r15w
movsxd rdx, ebp
sete dh
mov r8d, eax
mov qword [rsp + 0x20], r10
bswap r9
cqo
cwd
lea r9, [rbp - 0x51]
movsx edx, r10w
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x6d]
call fcn.180147aca
cmp rax, 0xffffffffffffffff
je 0x1801466ee
add rsi, r13
mov r12d, edx
mov r12d, r14d
mov r13, qword [rbp - 0x39]
jmp 0x180146333
jmp 0x180146439
mov r8, qword [r11 + r13*8 + 0x89a20]
xor cl, r14b
mov cl, byte [r8 + r15*8 + 0x3d]
test r10, 0x35be525d
clc
test cl, 4
jmp 0x180146358
je 0x18014639e
mov al, byte [r8 + r15*8 + 0x3e]
add dx, r8w
movzx rdx, bp
xchg dx, dx
mov byte [rbp + 7], al
mov al, byte [rsi]
mov byte [rbp + 8], al
sub dl, r9b
and cl, 0xfb
movzx rdx, r14w
mov byte [r8 + r15*8 + 0x3d], cl
jmp 0x18014638a
mov r8d, 2
movzx dx, r14b
lea rdx, [rbp + 7]
jmp 0x18014641a
movzx r9d, byte [rsi]
not al
mov rax, qword [r10 + 0x18]
mov rcx, qword [rax]
cmp dl, r10b
cmp word [rcx + r9*2], di
jmp 0x1801463b8
jge 0x180146410
lea r14, [rsi + 1]
cmp r14, qword [rbp - 0x61]
jmp 0x1801463cb
jae 0x1801466aa
mov r9, r10
mov r8d, 2
bswap cx
not dx
movsx edx, r13w
mov rdx, rsi
lea rcx, [rbp - 0x6d]
jmp 0x1801463f0
call fcn.1801426d8
cmp eax, 0xffffffff
jmp 0x1801463fd
je 0x1801466ee
mov rsi, r14
jmp 0x18014640b
jmp 0x180146439
mov r8, r12
mov dl, 0x37
mov rdx, rsi
xchg cl, ch
mov r9, r10
lea rcx, [rbp - 0x6d]
jmp 0x180146426
call fcn.1801426d8
cmp eax, 0xffffffff
jmp 0x180146433
je 0x1801466ee
inc rsi
btr r8w, r13w
mov qword [rsp + 0x38], rdi
bsr ecx, r14d
cmc
xchg r9b, cl
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 5
movzx eax, r13w
sal rcx, 0x10
lea rax, [rbp + 0xf]
or r8w, di
mov qword [rsp + 0x20], rax
mov r9d, r12d
sbb r8w, 0x30e7
cmovne cx, r13w
test r12b, dil
lea r8, [rbp - 0x6d]
shld cx, cx, 0x46
add cx, 0x3174
movzx ecx, di
sub edx, edx
bswap rcx
movzx rcx, si
mov rcx, 0x5a104798
mov ecx, dword [rbp - 0x49]
jmp 0x1801464aa
call fcn.180140044
mov r14d, eax
test sp, 0x3c7f
test eax, eax
je 0x1801466ee
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x69]
mov r8d, eax
xchg r12d, ecx
cqo
movzx edx, r13w
lea rdx, [rbp + 0xf]
mov r12, qword [rbp - 0x19]
mov rcx, r12
jmp 0x1801464e4
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1801466e6
mov edx, esi
clc
sub edx, dword [rbp - 0x41]
test r13, r8
clc
add edx, dword [rbx + 8]
jmp 0x180146505
mov dword [rbx + 4], edx
cmp dword [rbp - 0x69], r14d
jmp 0x180146511
jb 0x1801466ee
cmp byte [rbp - 0x71], 0xa
jmp 0x180146520
jne 0x1801465b0
mov eax, 0xd
setae cl
movsxd r9, r8d
cdq
mov word [rbp - 0x71], ax
not r8d
movsx r8, bx
movzx r9d, di
mov qword [rsp + 0x20], rdi
cwd
movzx r8w, r8b
lea r9, [rbp - 0x69]
movsx r8w, r12b
jmp 0x18014655d
lea r8d, [rax - 0xc]
movzx edx, r9w
bswap dx
movsx edx, cx
lea rdx, [rbp - 0x71]
mov ecx, edi
xchg cx, cx
mov rcx, r12
jmp 0x18014657c
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x180146589
je 0x1801466e6
cmp dword [rbp - 0x69], 1
jmp 0x180146598
jb 0x1801466ee
inc dword [rbx + 8]
inc dword [rbx + 4]
bsr edx, ecx
bt dx, si
mov edx, dword [rbx + 4]
cmp ecx, esp
cmp rsi, qword [rbp - 0x61]
jae 0x1801466ee
mov r10, qword [rbp - 0x59]
movzx cx, r15b
movsx r9, r11w
bswap cx
mov r9, qword [rbp - 0x11]
movsxd rcx, r10d
mov ecx, dword [rbp - 0x45]
jmp 0x1801465d9
jmp 0x180146031
test rdx, rdx
jle 0x180146633
sub rsi, r14
neg ch
xchg al, cl
mov rcx, qword [r11 + r13*8 + 0x89a20]
add rcx, r14
jmp 0x1801465fe
mov al, byte [rsi + r14]
jmp 0x180146607
mov byte [rcx + r15*8 + 0x3e], al
mov ax, r15w
dec ah
inc edi
xchg ah, ah
cwde
inc r14
bts rax, r15
shld ax, cx, 0xd8
cmp r10b, 0xba
movsxd rax, edi
cmp rax, rdx
jl 0x1801465ee
add dword [rbx + 4], edx
jmp 0x18014663b
jmp 0x1801466ee
test r8, r8
jmp 0x180146648
jle 0x18014669c
mov rdx, rdi
ror r9b, 0x76
mov r9, qword [rbp - 0x39]
sar rcx, cl
mov rcx, qword [r11 + r9*8 + 0x89a20]
adc al, r10b
sar al, cl
add rcx, rdx
mov al, dl
mov al, 6
mov al, byte [rdx + rsi]
jmp 0x180146678
mov byte [rcx + r15*8 + 0x3e], al
inc edi
mov ah, 0x8c
inc rdx
ror ax, cl
lahf
not al
movsxd rax, edi
cmp rax, r8
jmp 0x180146696
jl 0x18014665c
add dword [rbx + 4], r8d
jmp 0x1801466a5
jmp 0x1801466ee
mov byte [r8 + r15*8 + 0x3e], r9b
bts ax, r15w
xor al, 0xec
cwde
mov rax, qword [r11 + r13*8 + 0x89a20]
cmp al, bpl
cmp r11b, 0x4f
jmp 0x1801466cb
or byte [rax + r15*8 + 0x3d], 4
lea eax, [rdx + 1]
jmp 0x1801466d9
mov dword [rbx + 4], eax
jmp 0x1801466e1
jmp 0x1801466ee
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx], eax
mov rax, rbx
btr rcx, 0x27
shr ch, cl
sal cx, cl
mov rcx, qword [rbp + 0x17]
jmp 0x180146705
xor rcx, rsp
jmp 0x18014670d
call fcn.18012d754
mov rbx, qword [rsp + 0x110]
btr rdi, 0x62
cmp r9b, dl
add rsp, 0xd0
bswap si
movzx r15, sp
pop r15
mov dil, dil
bswap r14w
pop r14
setge dil
pop r13
bswap si
pop r12
cmove si, r10w
pop rdi
pop rsi
movzx rbp, bx
movsx bp, al
movzx ebp, r9w
pop rbp
jmp 0x18014675f
ret