Function at 0x14009c370
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov qword [rsp + 0x120], rbx
mov rax, qword [0x140197b10]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r10, rdx
mov rbp, rcx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x48], rdx
mov byte [rsp + 0x40], 0
xor dil, dil
mov byte [rsp + 0x42], dil
movzx r11d, word [rdx]
mov ebx, 9
xor r12d, r12d
lea ecx, [rbx + 0x17]
cmp bx, r11w
ja 0x14009c3e5
cmp r11w, 0xd
jbe 0x14009c3eb
cmp cx, r11w
jne 0x14009c3f3
mov r13d, r12d
jmp 0x14009c596
mov r8d, 4
lea rcx, str._UNI
call fcn.14005c4b0
test al, al
je 0x14009c419
mov ecx, 0x20
mov r13d, 0x4b0
jmp 0x14009c596
mov r8d, 8
mov rdx, r10
lea rcx, str._UNICODE
call fcn.14005c4b0
test al, al
je 0x14009c442
mov ecx, 0x20
mov r13d, 0x4b0
jmp 0x14009c596
mov r8d, 5
mov rdx, r10
lea rcx, str._UNIB
call fcn.14005c4b0
test al, al
je 0x14009c46b
mov ecx, 0x20
mov r13d, 0x4b1
jmp 0x14009c596
mov r8d, ebx
mov rdx, r10
lea rcx, str._UNICODEB
call fcn.14005c4b0
test al, al
je 0x14009c491
mov ecx, 0x20
mov r13d, 0x4b1
jmp 0x14009c596
mov r8d, 5
mov rdx, r10
lea rcx, str._ANSI
call fcn.14005c4b0
test al, al
je 0x14009c4b7
mov r13d, r12d
mov ecx, 0x20
jmp 0x14009c596
mov r8d, 4
mov rdx, r10
lea rcx, str._GBK
call fcn.14005c4b0
test al, al
je 0x14009c4e0
mov ecx, 0x20
mov r13d, 0x3a8
jmp 0x14009c596
mov r8d, 5
mov rdx, r10
lea rcx, str._BIG5
call fcn.14005c4b0
test al, al
je 0x14009c509
mov ecx, 0x20
mov r13d, 0x3b6
jmp 0x14009c596
mov r8d, 5
mov rdx, r10
lea rcx, str._UTF8
call fcn.14005c4b0
test al, al
je 0x14009c52f
mov ecx, 0x20
mov r13d, 0xfde9
jmp 0x14009c596
mov r8d, 5
mov rdx, r10
lea rcx, str._UTF7
call fcn.14005c4b0
test al, al
je 0x14009c555
mov ecx, 0x20
mov r13d, 0xfde8
jmp 0x14009c596
mov eax, 0x2d
cmp ax, r11w
jne 0x14009d35d
add r10, 2
movzx eax, word [r10]
sub ax, 0x30
cmp ax, bx
ja 0x14009d35d
mov qword [rsp + 0x48], r10
mov rcx, r10
call fcn.1400641f0
mov r13, rax
test eax, eax
js 0x14009d35d
mov ecx, 0x20
movzx eax, word [r10]
test ax, ax
je 0x14009c5c2
nop
cmp bx, ax
ja 0x14009c5ab
cmp ax, 0xd
jbe 0x14009c5c2
cmp cx, ax
je 0x14009c5c2
add r10, 2
mov qword [rsp + 0x48], r10
mov ax, word [r10]
test ax, ax
jne 0x14009c5a0
lea rcx, [rsp + 0x48]
call fcn.14005b560
mov r8d, 4
lea rdx, [rsp + 0x48]
lea rcx, str.fix
call fcn.140065780
neg al
sbb al, al
and al, 2
mov byte [rsp + 0x41], al
lea rdx, [0x14014f7a8]
lea rcx, [rsp + 0x80]
call fcn.140071240
nop
lea rdx, str.READLINE
lea rcx, [rsp + 0x70]
call fcn.140071240
nop
mov qword [rsp + 0xb0], r12
mov ebx, 1
mov r14d, ebx
mov dword [rsp + 0x50], ebx
mov r15d, ebx
mov dword [rsp + 0xb8], ebx
mov dword [rsp + 0x68], r12d
lea r8d, [rbx + 0x2b]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x48]
call fcn.140066780
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x80], r12
call fcn.14002e004
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140071360
nop
lea rcx, [rsp + 0x58]
call fcn.14005b520
mov rsi, qword [rsp + 0x80]
mov rdx, rsi
lea rcx, [0x140151fe4]
call fcn.14005c550
test al, al
je 0x14009c6a7
mov byte [rsp + 0x40], bl
mov dword [rsp + 0x68], ebx
jmp 0x14009c6df
cmp word [rsi], 0
je 0x14009c6da
mov rdx, rsi
lea rcx, [0x140147298]
call fcn.14005c550
test al, al
jne 0x14009c6da
mov rdx, rsi
lea rcx, [0x140146978]
call fcn.14005c550
test al, al
je 0x14009c6df
mov byte [rsp + 0x40], 2
jmp 0x14009c6df
mov byte [rsp + 0x40], 1
mov qword [rsp + 0x58], r12
mov rbx, qword [rsp + 0x48]
cmp word [rbx], 0x2c
jne 0x14009c826
lea rcx, [rsp + 0x60]
call fcn.140063500
add rbx, 2
mov qword [rsp + 0x48], rbx
mov r8d, 0x2c
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140066780
mov r11, qword [rsp + 0x60]
mov qword [rsp + 0x78], r11
mov rdx, r11
lea rcx, [0x140151fe0]
call fcn.14005c550
test al, al
je 0x14009c759
mov dil, 2
mov byte [rsp + 0x42], dil
lea rbp, [0x140151fdc]
mov qword [rsp + 0x58], rbp
mov rbp, qword [rsp + 0x90]
jmp 0x14009c7ee
mov rdx, r11
lea rcx, [0x140151fd8]
call fcn.14005c550
test al, al
je 0x14009c776
mov dil, 3
mov byte [rsp + 0x42], dil
jmp 0x14009c7ee
mov rdx, r11
lea rcx, [0x140140438]
call fcn.14005c550
test al, al
je 0x14009c79f
mov dil, 1
mov byte [rsp + 0x42], dil
lea rax, [0x14013fe74]
mov qword [rsp + 0x58], rax
jmp 0x14009c7ee
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.140066e40
mov r11d, 0x2b
mov rax, qword [rsp + 0x78]
cmp r11w, word [rax]
jne 0x14009c7e9
add rax, 2
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x78]
call fcn.140066e40
mov r14d, dword [rsp + 0x50]
mov r15d, dword [rsp + 0xb8]
jmp 0x14009c7ee
mov r14d, dword [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14005b520
mov rbx, qword [rsp + 0x48]
cmp word [rbx], 0x2c
jne 0x14009c826
add rbx, 2
mov qword [rsp + 0x48], rbx
mov r8d, 0x2c
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x48]
call fcn.140066780
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, rbp
call fcn.14001c9cc
mov rbp, qword [rsp + 0x70]
cmp word [rbp], 0
jne 0x14009c861
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
xor eax, eax
jmp 0x14009d362
movzx eax, byte [rsp + 0x40]
cmp al, 1
jne 0x14009c892
cmp word [rbx], 0x2c
je 0x14009c892
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
mov eax, 0x80070057
jmp 0x14009d362
add rbx, 2
mov qword [rsp + 0x48], rbx
test al, 1
je 0x14009cc3b
mov qword [rsp + 0x78], r12
cmp dword [rsp + 0x68], 0
je 0x14009c944
lea rcx, [rsp + 0x48]
call fcn.14005b560
mov rbx, qword [rsp + 0x48]
mov rdx, rbx
movzx eax, word [rbx]
test ax, ax
je 0x14009c8ff
mov ecx, 9
lea esi, [rcx + 0x17]
cmp cx, ax
ja 0x14009c8e0
cmp ax, 0xd
jbe 0x14009c8f3
cmp si, ax
je 0x14009c8f3
add rbx, 2
mov ax, word [rbx]
test ax, ax
je 0x14009c904
jmp 0x14009c8d5
cmp word [rbx], 0
je 0x14009c904
mov word [rbx], r12w
jmp 0x14009c904
mov esi, 0x20
cmp word [rdx], 0
je 0x14009c93a
or r9d, 0xffffffff
xor r8d, r8d
mov r13, qword [rsp + 0x90]
mov rcx, r13
call fcn.1400307c0
test rax, rax
je 0x14009c951
mov rdx, qword [rax]
lea rcx, [rsp + 0x78]
call fcn.140071480
mov rbx, qword [rsp + 0x78]
jmp 0x14009c951
mov r13, qword [rsp + 0x90]
jmp 0x14009c951
mov r13, qword [rsp + 0x90]
mov esi, 0x20
mov r8, rbx
cmp dil, 3
jne 0x14009c96a
mov rdx, rbp
mov rcx, r13
call fcn.140061290
jmp 0x14009cc11
test dil, dil
je 0x14009ca3a
lea rax, [0x140140490]
lea r14, [0x140149368]
cmp dil, 1
cmove r14, rax
lea rcx, [rsp + 0x60]
call fcn.140063500
nop
mov rsi, rbx
movzx eax, word [rbx]
test ax, ax
je 0x14009c9f5
nop
cmp ax, 0xd
jne 0x14009c9b9
lea rax, [rbx + 2]
cmp word [rax], 0xa
jne 0x14009c9bf
mov word [rbx], r12w
mov rbx, rax
jmp 0x14009c9c3
cmp ax, 0xa
jne 0x14009c9e9
mov word [rbx], r12w
test dil, dil
jne 0x14009c9d5
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.140063600
xor dil, dil
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.140063600
lea rsi, [rbx + 2]
add rbx, 2
mov ax, word [rbx]
test ax, ax
jne 0x14009c9a0
cmp word [rsi], 0
je 0x14009ca1a
test dil, dil
jne 0x14009ca0d
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.140063600
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.140063600
mov r8, qword [rsp + 0x60]
mov rdx, rbp
mov rcx, r13
call fcn.140061290
nop
lea rcx, [rsp + 0x60]
call fcn.14005b520
jmp 0x14009cc11
test r14d, r14d
jns 0x14009caae
movzx eax, word [rbx]
test ax, ax
je 0x14009ca6b
cmp ax, 0xa
jne 0x14009ca50
inc r12d
add rbx, 2
mov ax, word [rbx]
test ax, ax
jne 0x14009ca47
cmp rbx, r8
jbe 0x14009ca6b
cmp word [rbx - 2], 0xa
je 0x14009ca6b
inc r12d
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.140063580
nop
mov r8d, r12d
lea rdx, [0x140142b58]
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.USER32.dll_wsprintfW]
mov r8, rbx
mov rdx, rbp
mov rcx, r13
call fcn.140061290
nop
lea rcx, [rsp + 0x58]
call fcn.14005b520
jmp 0x14009cc11
test r14d, r14d
jne 0x14009cb55
mov rcx, rbx
mov rdx, rbx
movzx eax, word [rbx]
test ax, ax
je 0x14009cb17
cmp ax, 0xa
jne 0x14009cad1
mov rdx, rcx
mov rcx, rbx
add rbx, 2
mov ax, word [rbx]
test ax, ax
jne 0x14009cac5
cmp rbx, r8
jbe 0x14009cb06
cmp word [rbx - 2], 0xa
je 0x14009cb06
cmp word [rcx], 0xa
jne 0x14009caf3
add rcx, 2
mov r8, rcx
mov rdx, rbp
mov rcx, r13
call fcn.140061290
jmp 0x14009cc11
cmp rcx, r8
jbe 0x14009cb17
lea rax, [rcx - 2]
cmp word [rax], 0xd
cmove rcx, rax
cmp word [rdx], 0xa
jne 0x14009cb21
add rdx, 2
sub rcx, rdx
sar rcx, 1
mov r8d, ecx
lea rcx, [rsp + 0x58]
call fcn.1400712b0
nop
mov r8, qword [rsp + 0x58]
mov rdx, rbp
mov rcx, r13
call fcn.140061290
nop
lea rcx, [rsp + 0x58]
call fcn.14005b520
jmp 0x14009cc11
cmp r14d, 1
jle 0x14009cb7b
nop dword [rax + rax]
movzx eax, word [rbx]
test ax, ax
je 0x14009cb7b
cmp ax, 0xa
jne 0x14009cb71
dec r14d
add rbx, 2
cmp r14d, 1
jg 0x14009cb60
mov rdx, rbx
movzx eax, word [rbx]
movsxd rcx, r15d
test ax, ax
je 0x14009cbe1
mov r8d, 0xd
lea r9d, [r8 - 3]
test rcx, rcx
je 0x14009cb9e
sub r15d, 1
js 0x14009cbe1
test ax, ax
je 0x14009cbbb
cmp ax, r8w
je 0x14009cbbb
cmp ax, r9w
je 0x14009cbbb
add rbx, 2
mov ax, word [rbx]
test ax, ax
jne 0x14009cba3
test rcx, rcx
je 0x14009cbc5
test r15d, r15d
je 0x14009cbe1
cmp r8w, word [rbx]
jne 0x14009cbcf
add rbx, 2
cmp r9w, word [rbx]
jne 0x14009cbd9
add rbx, 2
mov ax, word [rbx]
test ax, ax
jne 0x14009cb93
sub rbx, rdx
sar rbx, 1
mov r8d, ebx
lea rcx, [rsp + 0x58]
call fcn.1400712b0
nop
mov r8, qword [rsp + 0x58]
mov rdx, rbp
mov rcx, r13
call fcn.140061290
nop
lea rcx, [rsp + 0x58]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
xor eax, eax
jmp 0x14009d362
mov edx, 8
lea rcx, [rsp + 0x48]
call fcn.1400632b0
nop
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.1400632b0
nop
mov rbx, qword [rsp + 0x48]
mov word [rbx], r12w
xor eax, eax
mov qword [rsp + 0xa0], rax
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x98], rax
mov rdi, r12
mov qword [rsp + 0x78], r12
lea rax, [rsp + 0x98]
lea rdx, [rsp + 0x78]
mov cl, byte [rsp + 0x40]
cmp cl, 2
cmovne rax, rdx
mov qword [rsp + 0x88], rax
cmp cl, 2
je 0x14009ce80
mov dword [rsp + 0x50], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 7]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
cmove rdi, r12
mov qword [rsp + 0x78], rdi
mov rax, qword [rsp + 0x88]
mov rsi, qword [rax]
test rsi, rsi
jne 0x14009cd50
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test rdi, rdi
je 0x14009cd1b
cmp rdi, 0xffffffffffffffff
je 0x14009cd1b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x60]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
mov eax, ebx
jmp 0x14009d362
mov byte [rsp + 0xb8], 0
mov byte [rsp + 0xb9], 0
mov byte [rsp + 0xba], 0
xor eax, eax
mov word [rsp + 0xbb], ax
mov dword [rsp + 0x68], r12d
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x68]
lea r8d, [rax + 3]
lea rdx, [rsp + 0xb8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx r11d, byte [rsp + 0xb8]
cmp r11b, 0xff
jne 0x14009cdbc
cmp byte [rsp + 0xb9], 0xfe
jne 0x14009ce06
mov eax, 2
mov r13d, 0x4b0
jmp 0x14009ce1c
cmp r11b, 0xfe
jne 0x14009cdd9
cmp byte [rsp + 0xb9], 0xff
jne 0x14009ce00
mov eax, 2
mov r13d, 0x4b1
jmp 0x14009ce1c
cmp r11b, 0xef
jne 0x14009ce18
cmp byte [rsp + 0xb9], 0xbb
jne 0x14009ce12
cmp byte [rsp + 0xba], 0xbf
jne 0x14009ce0c
mov eax, 3
mov r13d, 0xfde9
jmp 0x14009ce1c
mov eax, dword [rsp + 0x50]
jmp 0x14009ce1c
mov eax, dword [rsp + 0x50]
jmp 0x14009ce1c
mov eax, dword [rsp + 0x50]
jmp 0x14009ce1c
mov eax, dword [rsp + 0x50]
jmp 0x14009ce1c
mov eax, dword [rsp + 0x50]
movsxd rdx, eax
xor r8d, r8d
mov rcx, rsi
call fcn.14005c450
test eax, eax
jns 0x14009ce80
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test rdi, rdi
je 0x14009ce4b
cmp rdi, 0xffffffffffffffff
je 0x14009ce4b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x60]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
mov eax, ebx
jmp 0x14009d362
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
movzx esi, byte [rsp + 0x42]
cmp sil, 3
jne 0x14009cfb9
mov qword [rsp + 0x68], r12
mov esi, r12d
mov r15, r12
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov r14b, byte [rsp + 0x40]
mov edi, 0x186a0
mov rbp, rax
nop word [rax + rax]
lea edx, [rsi + 0x100001]
lea rcx, [rsp + 0x68]
call fcn.1400632e0
mov dword [rsp + 0x50], r12d
mov rbx, qword [rsp + 0x68]
lea rdx, [rbx + r15]
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x50]
mov r8d, 0x100000
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [rsp + 0x50]
cmp ecx, 0x100000
jbe 0x14009cf0e
mov ecx, 0x100000
mov dword [rsp + 0x50], ecx
jmp 0x14009cf30
test ecx, ecx
jne 0x14009cf30
test eax, eax
jne 0x14009cf3c
cmp r14b, 2
jne 0x14009cf2b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x14009cf3c
mov ecx, dword [rsp + 0x50]
sub edi, 1
js 0x14009cf3c
add esi, ecx
movsxd r15, esi
mov byte [rbx + r15], 0
jmp 0x14009cec0
mov edx, r13d
lea rcx, [rsp + 0x68]
call fcn.14006b1a0
mov r8, rax
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x90]
call fcn.140061290
nop
lea rcx, [rsp + 0x68]
call fcn.14005b520
nop
mov rdi, qword [rsp + 0x78]
test rdi, rdi
je 0x14009cf84
cmp rdi, 0xffffffffffffffff
je 0x14009cf84
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x60]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
xor eax, eax
jmp 0x14009d362
test sil, sil
je 0x14009d0a2
lea rdx, [0x14013f310]
mov rax, qword [rsp + 0x58]
test rax, rax
cmovne rdx, rax
or r8d, 0xffffffff
lea rcx, [rsp + 0x58]
call fcn.1400712d0
movzx r12d, byte [rsp + 0x41]
or r12b, 1
mov rbx, qword [rsp + 0x58]
mov r14b, byte [rsp + 0x40]
nop word [rax + rax]
lea rcx, [rsp + 0x68]
call fcn.140063500
test sil, sil
jne 0x14009d01c
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140063600
xor sil, sil
movzx r9d, r12b
mov r8d, r13d
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0x88]
call fcn.14006ad00
mov r15d, eax
cmp r14b, 2
jne 0x14009d04c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x14009d077
mov edx, r13d
lea rcx, [rsp + 0x68]
call fcn.14006b1a0
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140063600
test r15d, r15d
je 0x14009d083
lea rcx, [rsp + 0x68]
call fcn.14005b520
jmp 0x14009d000
lea rcx, [rsp + 0x68]
call fcn.14005b520
jmp 0x14009d08d
lea rcx, [rsp + 0x68]
call fcn.14005b520
mov r13d, 0x4b0
lea rcx, [rsp + 0x58]
call fcn.14005b520
jmp 0x14009d2f5
test r14d, r14d
jns 0x14009d124
mov bl, byte [rsp + 0x41]
mov rbp, qword [rsp + 0x88]
mov r14b, byte [rsp + 0x40]
nop dword [rax + rax]
movzx r9d, bl
mov r8d, r13d
lea rdx, [rsp + 0x48]
mov rcx, rbp
call fcn.14006ad00
mov esi, eax
cmp r14b, 2
jne 0x14009d0e7
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x14009d0f0
test esi, esi
je 0x14009d0f0
inc r12d
jmp 0x14009d0c0
mov edx, 0x20
mov r13d, 0x4b0
lea rcx, [rsp + 0x48]
call fcn.1400632e0
mov r8d, r12d
lea rdx, [0x140142b58]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rbp, qword [rsp + 0x70]
jmp 0x14009d2f5
test r14d, r14d
jne 0x14009d18f
mov cl, byte [rsp + 0x41]
or cl, 1
mov byte [rsp + 0x41], cl
mov r14b, byte [rsp + 0x40]
nop dword [rax]
mov rax, rbx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x60], rax
movzx r9d, cl
mov r8d, r13d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
call fcn.14006ad00
mov esi, eax
cmp r14b, 2
jne 0x14009d182
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x14009d2f5
test esi, esi
mov cl, byte [rsp + 0x41]
jne 0x14009d140
jmp 0x14009d2f5
cmp r14d, 1
jle 0x14009d1f7
mov sil, byte [rsp + 0x41]
mov rbp, qword [rsp + 0x88]
mov dil, byte [rsp + 0x40]
mov r12d, 1
nop dword [rax]
movzx r9d, sil
mov r8d, r13d
lea rdx, [rsp + 0x48]
mov rcx, rbp
call fcn.14006ad00
mov ebx, eax
cmp dil, 2
jne 0x14009d1d7
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x14009d1e3
test ebx, ebx
je 0x14009d1e3
inc r12d
cmp r12d, r14d
jl 0x14009d1b0
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
xor r12d, r12d
jmp 0x14009d1fc
mov sil, byte [rsp + 0x41]
mov byte [rbx], 0
cmp r15d, 1
jne 0x14009d226
or sil, r15b
movzx r9d, sil
mov r8d, r13d
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
call fcn.14006ad00
jmp 0x14009d2f5
lea rcx, [rsp + 0xb8]
call fcn.140063500
movsxd rbx, r15d
lea r14, [0x140149368]
mov rbp, qword [rsp + 0x88]
mov dil, byte [rsp + 0x40]
nop word [rax + rax]
test rbx, rbx
je 0x14009d25b
sub r15d, 1
js 0x14009d2d8
mov rax, qword [rsp + 0xb8]
mov word [rax], r12w
movzx r9d, sil
or r9b, 1
mov r8d, r13d
lea rdx, [rsp + 0xb8]
mov rcx, rbp
call fcn.14006ad00
mov dword [rsp + 0x68], eax
cmp dil, 2
jne 0x14009d29b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x14009d2d8
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x14009d2d8
mov edx, r13d
lea rcx, [rsp + 0xb8]
call fcn.14006b1a0
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140063600
test rbx, rbx
je 0x14009d2c6
test r15d, r15d
jle 0x14009d2d8
mov rdx, r14
lea rcx, [rsp + 0x48]
call fcn.140063600
jmp 0x14009d250
mov r13d, 0x4b0
lea rcx, [rsp + 0xb8]
call fcn.14005b520
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
mov edx, r13d
lea rcx, [rsp + 0x48]
call fcn.14006b1a0
mov r8, rax
mov rdx, rbp
mov rcx, qword [rsp + 0x90]
call fcn.140061290
nop
test rdi, rdi
je 0x14009d32b
cmp rdi, 0xffffffffffffffff
je 0x14009d32b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x60]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
xor eax, eax
jmp 0x14009d362
mov eax, 1
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14010bcc0
mov rbx, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret