Function at 0x140002180
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rsi
mov eax, 0x1510
call fcn.14002d8b0
sub rsp, rax
mov rdx, rcx
lea r8, [rsp + 0x1528]
lea rcx, [rsp + 0xd0]
call fcn.140019914
cmp byte [0x140076a26], 0
mov esi, eax
jne 0x1400022e7
cmp dword [0x140076a50], 0
mov qword [rsp + 0x1508], rbx
mov qword [rsp + 0x1500], rbp
mov qword [rsp + 0x14f8], rdi
mov ebp, 7
lea rbx, [rsp + 0xd0]
je 0x1400023da
mov rdi, qword [0x140060eb8]
mov dx, word [0x14005f528]
cmp rdi, 0xffffffffffffffff
je 0x14002dd85
cmp byte [rsp + 0xd0], 0
je 0x1400022cd
mov qword [rsp + 0x14f0], r12
mov qword [rsp + 0x14e8], r13
mov qword [rsp + 0x14e0], r14
mov r14d, 0xfff8
mov qword [rsp + 0x14d8], r15
xor r13d, r13d
lea r9d, [r14 + 4]
lea r10d, [r14 + 2]
lea r11d, [r14 + 6]
lea r15d, [r14 - 0x69]
lea r12, [0x140000000]
mov al, byte [rbx]
cmp al, 0xa
je 0x1400022f0
cmp al, 0x1b
je 0x140002331
call fcn.1400163a4
movsx ecx, byte [rbx]
add rax, 0x60
mov rdx, rax
call fcn.14001975c
inc rbx
cmp byte [rbx], r13b
je 0x1400022ad
mov rdi, qword [0x140060eb8]
mov dx, word [0x14005f528]
mov r9d, 0xfffc
lea r10d, [r9 - 2]
lea r11d, [r9 + 2]
jmp 0x140002261
mov r15, qword [rsp + 0x14d8]
mov r14, qword [rsp + 0x14e0]
mov r13, qword [rsp + 0x14e8]
mov r12, qword [rsp + 0x14f0]
mov rbp, qword [rsp + 0x1500]
mov rbx, qword [rsp + 0x1508]
mov rdi, qword [rsp + 0x14f8]
mov eax, esi
add rsp, 0x1510
pop rsi
ret
movzx edx, word [0x140060e14]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
call fcn.1400163a4
lea rdx, [0x14003cea8]
add rax, 0x60
mov rcx, rax
call fcn.1400165e4
movzx edx, word [0x14005f528]
mov rcx, qword [0x140060eb8]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
jmp 0x140002287
cmp byte [rbx + 1], 0x5b
jne 0x140002273
inc rbx
movsx ecx, byte [rbx + 1]
inc rbx
mov r8d, r13d
lea eax, [rcx - 0x30]
cmp eax, 0xa
jae 0x140002367
lea eax, [r8 + r8*4]
inc rbx
lea r8d, [rcx + rax*2 - 0x30]
movsx ecx, byte [rbx]
lea eax, [rcx - 0x30]
cmp eax, 0xa
jb 0x140002350
mov al, byte [rbx]
cmp al, 0x6d
jne 0x140002438
cmp r8d, 0x31
ja case.0x14000238e.20
mov eax, r8d
movzx eax, byte [r12 + rax + 0x24c8]
mov ecx, dword [r12 + rax*4 + 0x2474]
add rcx, r12
jmp rcx
or dx, 8
mov word [0x14005f528], dx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp byte [rbx], 0x3b
jne 0x140002287
mov rdi, qword [0x140060eb8]
mov dx, word [0x14005f528]
mov r9d, 0xfffc
lea r10d, [r9 - 2]
lea r11d, [r9 + 2]
jmp 0x14000233e
mov dx, bp
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
mov qword [0x140060eb8], rax
cmp rax, 0xffffffffffffffff
je 0x14002dd77
lea rdx, [rsp + 0x38]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x14002dd70
mov dx, word [rsp + 0x40]
mov rdi, qword [0x140060eb8]
mov word [0x14005f528], dx
mov word [0x140060e14], dx
mov dword [0x140076a50], 1
jmp 0x140002209
cmp al, 0x3b
je 0x140002371
jmp 0x14002df6d
and dx, r11w
or dx, 6
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xffcf
and dx, ax
or dx, 0x40
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov rdi, qword [0x140060eb8]
mov edx, ebp
mov word [0x14005f528], dx
jmp 0x140002422
lea rcx, [rsp + 0xd0]
mov edx, 0xa
call fcn.1400165c8
test rax, rax
je 0x14002ddf6
mov rdi, rax
call fcn.1400163a4
mov r8, rdi
mov edx, 1
lea r9, [rax + 0x60]
sub r8, rbx
mov rcx, rbx
call fcn.1400173a4
call fcn.1400163a4
mov edx, 1
lea r8d, [rdx + 1]
lea rcx, [0x14003cea8]
lea r9, [rax + 0x60]
call fcn.1400173a4
lea rbx, [rdi + 1]
mov edx, 0xa
mov rcx, rbx
call fcn.1400165c8
mov rdi, rax
test rax, rax
jne 0x14002dda3
call fcn.1400163a4
or rcx, 0xffffffffffffffff
mov rdi, rbx
lea r9, [rax + 0x60]
xor eax, eax
repne scasb al, byte [rdi]
lea edx, [rax + 1]
not rcx
lea r8, [rcx - 1]
mov rcx, rbx
call fcn.1400173a4
nop
jmp 0x1400022cd
and dx, r14w
or dx, 8
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov dx, r13w
mov word [0x14005f528], dx
jmp case.0x14000238e.20
and dx, r14w
mov word [0x14005f528], dx
jmp case.0x14000238e.20
and dx, r9w
or dx, 4
mov word [0x14005f528], dx
jmp case.0x14000238e.20
and dx, r10w
or dx, 2
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xfff9
and dx, ax
or dx, 1
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xfffd
and dx, ax
or dx, 5
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xfffb
and dx, ax
or dx, 3
mov word [0x14005f528], dx
jmp case.0x14000238e.20
or dx, bp
mov word [0x14005f528], dx
jmp case.0x14000238e.20
and dx, r15w
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xffaf
and dx, ax
or dx, 0x20
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xffef
and dx, ax
or dx, 0x60
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xff9f
and dx, ax
or dx, 0x10
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xffdf
and dx, ax
or dx, 0x50
mov word [0x14005f528], dx
jmp case.0x14000238e.20
mov eax, 0xffbf
and dx, ax
or dx, 0x30
mov word [0x14005f528], dx
jmp case.0x14000238e.20
or dx, 0x70
mov word [0x14005f528], dx
jmp case.0x14000238e.20
movsx r8d, byte [rbx]
lea rdx, str.Unknown_escape_sequence_ending_with__c_n
lea rcx, [rsp + 0x50]
call fcn.140016c1c
mov rcx, qword [0x140060eb8]
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0x50]
mov r8d, eax
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop
jmp 0x140002287