Function at 0x140088fd0
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
cmp ecx, dword [rdi]
add cl, ch
retf
jb 0x140001e5d
or eax, 0x2991e900
invalid
jmp 0x140088fd0
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0xe8
mov r12, rcx
mov qword [rsp + 0xa8], r8
mov rdi, rdx
xor r14d, r14d
xor r15d, r15d
cmp dword [r12 + 0x1d0], 0xfffffffc
je 0x14008c642
and byte [r12 + 0x285], 0xfe
test byte [r12 + 0x281], 0x10
je 0x140089033
mov rcx, r12
call fcn.140001fbe
test eax, eax
jne 0x14008aa35
and byte [r12 + 0x281], 0xef
mov rax, qword [r12 + 0x100]
test byte [r12 + 0x27a], 0x40
je 0x140089099
test rax, rax
je 0x1400890b3
cmp byte [rax + 0x30], 0
je 0x14008909e
mov byte [rsp + 0xdc], 0xa
lea rdx, [rsp + 0xdc]
mov rcx, qword [rax + 0x20]
test rcx, rcx
cmove rcx, r12
mov r8d, 1
call fcn.140002469
cmp eax, 0xffffffff
je 0x14008aa49
mov rax, qword [r12 + 0x100]
test rax, rax
je 0x1400890b3
mov byte [rax + 0x30], 0
mov rax, qword [r12 + 0x100]
test rax, rax
je 0x1400890b3
mov byte [rax + 0x31], 0
mov rax, qword [r12 + 0x100]
test rax, rax
je 0x1400890b3
mov byte [rax + 0x34], 0
movsx ebx, byte [r12 + 0x266]
xor r13d, r13d
cmp ebx, 8
ja case.default.0x1400890df
lea rdx, [0x140000000]
movzx eax, word [rdx + rbx*2 + 0x14e258]
lea rax, [rdx + rax + 0x890e1]
jmp rax
mov dl, byte [r12 + 0x278]
jmp 0x14008a2a7
mov ecx, 8
mov edx, 2
lea r8, str.for_get.c
mov r9d, 0xc13
call fcn.1400035df
test eax, eax
jne 0x14008afc4
mov r11, qword [r12 + 0x108]
mov r10, qword [r12 + 0x138]
mov r15, qword [r12 + 0x220]
mov qword [rsp + 0xa0], r13
mov rbx, r13
cmp r10, r13
jb 0x14008c0a0
cmp r10, qword [rsp + 0xa0]
jb 0x14008afab
cmp r13, 4
jne 0x140089de2
mov rax, qword [r12 + 0xa0]
test byte [r12 + 0x27d], 0x20
movzx ecx, byte [rax]
movzx edx, byte [rax + 1]
movzx r9d, byte [rax + 2]
movzx eax, byte [rax + 3]
je 0x140089d51
shl r9d, 8
shl edx, 0x10
or eax, r9d
shl ecx, 0x18
or eax, edx
or eax, ecx
jmp 0x140089d62
shl edx, 8
shl r9d, 0x10
or ecx, edx
shl eax, 0x18
or ecx, r9d
or eax, ecx
movsxd r9, eax
mov qword [r12 + 0x250], r9
jl 0x14008b096
mov al, byte [r12 + 0x282]
and al, 0xdf
mov byte [r12 + 0x282], al
mov al, byte [r12 + 0x284]
and al, 0xfe
cmp dword [r12 + 0x228], 0xb
jne 0x140089dd8
mov r8b, al
and r8b, 4
shr r8b, 2
je 0x140089dba
test al, 0x40
je 0x140089dba
inc al
mov byte [r12 + 0x284], al
jmp 0x140089e3d
mov rdx, qword [r12 + 0x230]
mov ecx, 0x20000
test rdx, rdx
cmovne rcx, rdx
cmp r9, rcx
jbe 0x140089dd8
test r8b, r8b
je 0x140089dab
mov byte [r12 + 0x284], al
jmp 0x140089e3d
cmp r13, 2
jne 0x140089e2d
mov rax, qword [r12 + 0xa0]
movzx edx, byte [rax + 1]
shl edx, 8
movzx r9d, byte [rax]
or r9d, edx
movsx r9, r9w
cmp r9, 1
je 0x14008b0aa
mov rdx, r9
lea ecx, [rbp + 1]
shr rdx, 0x3f
add rdx, r9
and rdx, 0xfffffffffffffffe
cmp rdx, r9
mov al, byte [r12 + 0x284]
cmovne ebp, ecx
jmp 0x140089e3d
mov r9, qword [r12 + 0x1c0]
mov al, byte [r12 + 0x284]
movsxd rbp, ebp
mov dl, al
and dl, 1
mov qword [rsp + 0x80], rbp
lea rcx, [r9 + rbp]
mov qword [rsp + 0xe0], rcx
cmp rcx, r10
jbe 0x14008b8e5
test dl, dl
jne 0x14008b8e5
mov dl, byte [r12 + 0x278]
test dl, 1
jne 0x14008b4a1
test esi, esi
je 0x14008b4a1
mov rcx, qword [r12 + 0x1a8]
cmp r9, rcx
jae 0x140089e9f
test byte [r12 + 0x27f], 0x40
je 0x14008b4a1
test rdi, rdi
je 0x14008c092
mov al, byte [rdi + 1]
cmp al, 5
je 0x14008c05c
cmp al, 7
je 0x14008c037
test r11, r11
je 0x14008b492
mov r8, r10
sub r8, r13
cmp r15, r8
ja 0x140089f3e
mov rdi, qword [r12 + 0xa0]
xor bpl, bpl
lea rdx, [r13 + rdi]
cmp r11, rdx
ja 0x140089ef2
lea rax, [r11 + r15]
cmp rax, rdx
ja 0x140089efe
cmp r11, rdx
jb 0x140089f10
lea rax, [r15 + r13]
add rax, rdi
cmp r11, rax
jae 0x140089f10
mov rcx, r11
mov r8, r15
mov qword [rsp + 0x70], rsi
call fcn.14000378d
jmp 0x140089f20
mov rcx, r11
mov r8, r15
mov qword [rsp + 0x70], rsi
call fcn.140003d46
mov rax, qword [r12 + 0x138]
sub rax, r13
sub rax, r15
xor r15d, r15d
mov qword [r12 + 0x138], rax
jmp 0x140089ffa
mov rsi, qword [r12 + 0xa0]
mov bpl, 1
lea rdx, [r13 + rsi]
cmp r11, rdx
ja 0x140089f66
mov rax, r11
sub rax, r13
add rax, r10
cmp rax, rdx
ja 0x140089f6e
cmp r11, rdx
jb 0x140089f85
add r10, rsi
cmp r11, r10
jae 0x140089f85
mov rcx, r11
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x98], r11
call fcn.14000378d
jmp 0x140089f9a
mov rcx, r11
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x98], r11
call fcn.140003d46
mov r11, qword [rsp + 0x98]
mov r9, qword [rsp + 0x40]
mov rdx, qword [r12 + 0x138]
mov rax, rdx
add r15, r13
lea rsi, [r13 + r9]
sub rax, r13
sub r15, rdx
xor r10d, r10d
sub rsi, rdx
mov rdi, qword [r12 + 0xa0]
add r11, rax
add rdi, rdx
mov qword [r12 + 0x78], rdi
mov qword [r12 + 0x138], r10
mov qword [r12 + 0xa0], r10
mov dword [rsp + 0xd8], r9d
test r15, r15
jg 0x14008a397
or byte [r12 + 0x27f], 0x40
test bpl, bpl
je 0x14008a00d
add rsi, rbx
jmp 0x14008a04d
mov rdx, qword [r12 + 0xa8]
mov rax, rdx
mov rsi, qword [r12 + 0x70]
sub rax, rsi
cmp rax, qword [rsp + 0xe0]
jg 0x14008a03a
mov rax, qword [rsp + 0xe0]
sub rax, rdx
add rsi, rax
jmp 0x14008a04d
mov rsi, qword [rsp + 0xe0]
sub rsi, r13
sub rsi, qword [r12 + 0x220]
mov qword [rsp + 0x58], rsi
mov edx, esi
mov rcx, qword [r12 + 0x198]
lea r8, [rsp + 0x5c]
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x58], eax
mov edx, eax
cmp eax, 0xffffffff
je 0x14008b141
mov eax, dword [rsp + 0x5c]
shl rax, 0x20
or rax, rdx
cmp rax, 0xffffffffffffffff
je 0x14008ab7d
mov r13b, byte [r12 + 0x280]
xor r14b, r14b
mov rax, qword [r12 + 0x198]
and r13b, 0x80
mov dil, byte [r12 + 0x281]
mov qword [rsp + 0x40], rax
and dil, 1
mov rsi, qword [r12 + 0x70]
shr r13b, 7
mov rbp, qword [r12 + 0x238]
mov qword [r12 + 0x138], 0
call fcn.14000434f
cmp eax, 1
jle 0x14008a0ec
cmp dword [r12 + 0x40], 0xfffffffc
je 0x14008a25a
cmp dword [0x140191994], 0
je 0x14008a19a
lea rax, [rbp - 1]
cmp rax, 1
jbe 0x14008a25a
test r13b, r13b
je 0x14008a191
cmp rbp, 0xfffffffffffffffa
je 0x14008b11d
test rbp, rbp
je 0x14008b0e3
test dil, dil
je 0x14008a19a
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x38], ecx
call fcn.1400041a6
mov ecx, dword [rsp + 0x38]
call fcn.1400026bc
test r14b, r14b
je 0x14008a19a
mov rcx, rsi
mov edx, ebx
mov r8d, dword [rsp + 0x38]
call fcn.140002018
movsxd rbx, eax
mov qword [r12 + 0x138], rbx
cmp eax, 0xffffffff
je 0x14008a25a
lea rcx, [0x14014e280]
mov edx, 2
xor r9d, r9d
mov r8d, dword [rsp + 0x38]
call fcn.14000213a
mov byte [rbx + rsi], 0xa
inc qword [r12 + 0x138]
jmp 0x14008a25a
test rbp, rbp
je 0x14008b0e3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [r12 + 0x230]
mov r13d, 0x20000
test rdi, rdi
cmove rdi, r13
mov qword [r12 + 0x138], 0
cmp rbx, rdi
jbe 0x14008a1cd
test rbp, rbp
jne 0x14008a1fc
mov rax, rsp
mov rdx, rsi
mov r8d, ebx
lea r9, [rsp + 0x3c]
mov qword [rax + 0x20], 0
mov rcx, qword [r9 + 4]
call qword [sym.imp.KERNEL32.dll_ReadFile]
movsxd rax, dword [rsp + 0x3c]
mov qword [r12 + 0x138], rax
jmp 0x14008a25a
mov rbp, qword [rsp + 0x40]
mov rax, rsp
mov r14, rdi
mov rcx, rbp
mov rdx, rsi
mov r8d, edi
lea r9, [rsp + 0x3c]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008a25a
mov rax, qword [r12 + 0x230]
test rax, rax
movsxd r9, dword [rsp + 0x3c]
cmove rax, r13
sub rbx, r9
cmp rbx, rax
cmovbe rdi, rbx
add rsi, r9
add qword [r12 + 0x138], r9
test rbx, rbx
je 0x14008a25a
cmp r9, r14
je 0x14008a201
mov rbx, qword [r12 + 0x138]
mov rdx, qword [r12 + 0x70]
or byte [r12 + 0x27d], 2
mov qword [r12 + 0xa0], rdx
lea rsi, [rbx + rdx]
mov qword [r12 + 0xa8], rsi
mov qword [r12 + 0x78], rsi
test r15, r15
je 0x14008a297
test rbx, rbx
je 0x14008c669
mov rbx, qword [r12 + 0x88]
mov dl, byte [r12 + 0x278]
mov qword [r12 + 0x1d8], 0
cmp rbx, rsi
je 0x14008a30e
mov bpl, byte [r12 + 0x266]
cmp bpl, 6
je 0x14008a2cc
cmp bpl, 8
jne 0x14008a30e
cmp byte [rbx - 1], 0xd
lea rbp, [rbx - 1]
jne 0x14008a2e8
cmp rsi, rbp
mov rbx, rbp
cmova rbx, rsi
mov qword [r12 + 0x88], rbx
test byte [r12 + 0x282], 0x10
je 0x14008a30e
cmp rbx, rsi
jbe 0x14008a30e
cmp byte [rbx - 1], 0xd
jne 0x14008a30e
dec rbx
mov qword [r12 + 0x88], rbx
cmp rbx, rsi
ja 0x14008a2f8
test dl, 4
je 0x14008a340
test byte [r12 + 0x27a], 0x40
je 0x14008a340
test byte [r12 + 0x27b], 8
je 0x14008a340
cmp byte [r12 + 0x266], 1
jne 0x14008a340
add rbx, 0xfffffffffffffffe
mov qword [r12 + 0x88], rbx
sub rbx, rsi
cmp rbx, 1
jne 0x14008a381
mov dl, byte [r12 + 0x27a]
test dl, 0x40
jne 0x14008a378
test dl, 0x80
jne 0x14008a36d
mov dl, byte [r12 + 0x280]
test dl, 1
jne 0x14008a36d
test dl, 2
je 0x14008a381
cmp byte [r12 + 0x266], 4
jne 0x14008a381
cmp byte [rsi], 0x1a
je 0x14008b0b9
xor eax, eax
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, ebx
mov dword [rsp + 0xa0], eax
mov byte [rsp + 0x68], bpl
mov qword [rsp + 0x90], rbx
mov rbx, r11
mov qword [rsp + 0x88], r13
jmp 0x14008a3d0
mov eax, dword [rsp + 0xd8]
cdq
xor eax, edx
sub eax, edx
mov dword [rsp + 0xd8], eax
movsxd rsi, eax
mov rbp, qword [r12 + 0x198]
cmp rsi, r15
mov qword [rsp + 0xc0], rbp
mov rdi, r15
mov bpl, byte [r12 + 0x280]
cmovl rdi, rsi
and bpl, 0x80
xor r14d, r14d
mov al, byte [r12 + 0x281]
and al, 1
shr bpl, 7
mov byte [rsp + 0xc8], al
mov r13, qword [r12 + 0x238]
mov byte [rsp + 0xd0], 0
call fcn.14000434f
cmp eax, 1
jle 0x14008a434
cmp dword [r12 + 0x40], 0xfffffffc
je 0x14008b163
cmp dword [0x140191994], 0
je 0x14008a4f2
lea rax, [r13 - 1]
cmp rax, 1
ja 0x14008a452
xor ebp, ebp
jmp 0x14008a5d9
test bpl, bpl
je 0x14008a4e9
cmp r13, 0xfffffffffffffffa
je 0x14008b1b8
test r13, r13
je 0x14008b16d
mov al, byte [rsp + 0xc8]
test al, al
je 0x14008a4f2
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0xb0], ecx
call fcn.1400041a6
mov ecx, dword [rsp + 0xb0]
call fcn.1400026bc
mov al, byte [rsp + 0xd0]
test al, al
je 0x14008a4f2
mov rcx, rbx
mov edx, edi
mov r8d, dword [rsp + 0xb0]
call fcn.140002018
movsxd r14, eax
cmp eax, 0xffffffff
je 0x14008a44b
lea rcx, [0x14014e280]
mov edx, 2
xor r9d, r9d
mov r8d, dword [rsp + 0xb0]
call fcn.14000213a
mov byte [r14 + rbx], 0xa
inc r14
mov ebp, 1
jmp 0x14008a5d9
test r13, r13
je 0x14008b16d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbp, qword [r12 + 0x230]
mov eax, 0x20000
test rbp, rbp
cmove rbp, rax
xor r14d, r14d
cmp rdi, rbp
jbe 0x14008a51b
test r13, r13
jne 0x14008a547
mov rax, rsp
mov rdx, rbx
mov r8d, edi
lea r9, [rsp + 0x60]
mov qword [rax + 0x20], 0
mov rcx, qword [r9 + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ebp, eax
movsxd r14, dword [rsp + 0x60]
jmp 0x14008a5cf
mov qword [rsp + 0x70], rsi
mov r13, rbx
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x98], rbx
mov rbx, rax
mov rsi, qword [rsp + 0xc0]
mov r10, rsp
mov r15, rbp
mov rcx, rsi
mov rdx, r13
mov r8d, ebp
lea r9, [rsp + 0x60]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008a5bb
mov r8, qword [r12 + 0x230]
test r8, r8
movsxd r9, dword [rsp + 0x60]
cmove r8, rbx
sub rdi, r9
cmp rdi, r8
cmovbe rbp, rdi
add r13, r9
add r14, r9
test rdi, rdi
je 0x14008a5bb
cmp r9, r15
je 0x14008a567
mov rsi, qword [rsp + 0x70]
mov ebp, eax
mov r15, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x98]
mov edi, 1
test ebp, ebp
cmovne ebp, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x3e3
je 0x14008b485
test ebp, ebp
je 0x14008b43d
test r14, r14
je 0x14008b407
sub r15, r14
add rbx, r14
sub rsi, r14
test r15, r15
jle 0x14008b3ed
mov dil, byte [r12 + 0x280]
xor bpl, bpl
mov rax, qword [r12 + 0x198]
and dil, 0x80
mov r14b, byte [r12 + 0x281]
xor esi, esi
mov qword [rsp + 0xb8], rax
and r14b, 1
shr dil, 7
mov r13, qword [r12 + 0x238]
call fcn.14000434f
cmp eax, 1
jle 0x14008a65f
cmp dword [r12 + 0x40], 0xfffffffc
je 0x14008b1f2
cmp dword [0x140191994], 0
je 0x14008a714
lea rax, [r13 - 1]
cmp rax, 1
ja 0x14008a67d
xor ebp, ebp
jmp 0x14008a7f3
test dil, dil
je 0x14008a70b
cmp r13, 0xfffffffffffffffa
je 0x14008b23c
test r13, r13
je 0x14008b1fc
test r14b, r14b
je 0x14008a714
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x80], ecx
call fcn.1400041a6
mov ecx, dword [rsp + 0x80]
call fcn.1400026bc
test bpl, bpl
je 0x14008a714
mov edx, dword [rsp + 0xa0]
lea rcx, [rsp + 0x64]
mov r8d, dword [rcx + 0x1c]
call fcn.140002018
movsxd rsi, eax
cmp eax, 0xffffffff
je 0x14008a676
lea rcx, [0x14014e280]
mov edx, 2
xor r9d, r9d
mov r8d, dword [rsp + 0x80]
call fcn.14000213a
mov byte [rsp + rsi + 0x64], 0xa
inc rsi
mov ebp, 1
jmp 0x14008a7f3
test r13, r13
je 0x14008b1fc
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbp, qword [r12 + 0x230]
mov edi, 0x20000
test rbp, rbp
cmove rbp, rdi
xor esi, esi
cmp rbp, qword [rsp + 0x90]
jae 0x14008a741
test r13, r13
jne 0x14008a76d
mov rax, rsp
lea rdx, [rsp + 0x64]
lea r9, [rsp + 0x54]
mov qword [rax + 0x20], 0
mov rcx, qword [rdx + 0x54]
mov r8d, dword [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ebp, eax
movsxd rsi, dword [rsp + 0x54]
jmp 0x14008a7e9
mov qword [rsp + 0x98], rbx
lea r14, [rsp + 0x64]
mov r13, qword [r14 + 0x2c]
mov rbx, qword [r14 + 0x54]
mov qword [r14 - 0xc], r15
mov rax, rsp
mov r15, rbp
mov rcx, rbx
mov rdx, r14
mov r8d, ebp
lea r9, [rsp + 0x54]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008a7da
mov r8, qword [r12 + 0x230]
test r8, r8
movsxd r9, dword [rsp + 0x54]
cmove r8, rdi
sub r13, r9
cmp r13, r8
cmovbe rbp, r13
add r14, r9
add rsi, r9
test r13, r13
je 0x14008a7da
cmp r9, r15
je 0x14008a786
mov r15, qword [rsp + 0x58]
mov ebp, eax
mov rbx, qword [rsp + 0x98]
mov edi, 1
test ebp, ebp
cmovne ebp, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x3e3
je 0x14008b3e0
test ebp, ebp
je 0x14008b398
test rsi, rsi
je 0x14008b362
mov eax, dword [rsp + 0x64]
xor esi, esi
cdq
mov dil, byte [r12 + 0x280]
xor eax, edx
mov rbp, qword [r12 + 0x198]
and dil, 0x80
mov r14b, byte [r12 + 0x281]
sub eax, edx
mov dword [rsp + 0x64], eax
and r14b, 1
mov qword [rsp + 0xa8], rbp
xor bpl, bpl
shr dil, 7
mov r13, qword [r12 + 0x238]
call fcn.14000434f
cmp eax, 1
jle 0x14008a874
cmp dword [r12 + 0x40], 0xfffffffc
je 0x14008b269
cmp dword [0x140191994], 0
je 0x14008a926
lea rax, [r13 - 1]
cmp rax, 1
ja 0x14008a892
xor ebp, ebp
jmp 0x14008aa0b
test dil, dil
je 0x14008a91d
cmp r13, 0xfffffffffffffffa
je 0x14008b2ad
test r13, r13
je 0x14008b273
test r14b, r14b
je 0x14008a926
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x78], ecx
call fcn.1400041a6
mov ecx, dword [rsp + 0x78]
call fcn.1400026bc
test bpl, bpl
je 0x14008a926
mov edx, dword [rsp + 0xa0]
lea rcx, [rsp + 0xd8]
mov r8d, dword [rcx - 0x60]
call fcn.140002018
movsxd rsi, eax
cmp eax, 0xffffffff
je 0x14008a88b
lea rcx, [0x14014e280]
mov edx, 2
xor r9d, r9d
mov r8d, dword [rsp + 0x78]
call fcn.14000213a
mov byte [rsp + rsi + 0xd8], 0xa
inc rsi
mov ebp, 1
jmp 0x14008aa0b
test r13, r13
je 0x14008b273
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbp, qword [r12 + 0x230]
mov edi, 0x20000
test rbp, rbp
cmove rbp, rdi
xor esi, esi
cmp rbp, qword [rsp + 0x90]
jae 0x14008a953
test r13, r13
jne 0x14008a982
mov rax, rsp
lea rdx, [rsp + 0xd8]
lea r9, [rsp + 0x4c]
mov qword [rax + 0x20], 0
mov rcx, qword [rdx - 0x30]
mov r8d, dword [rdx - 0x38]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ebp, eax
movsxd rsi, dword [rsp + 0x4c]
jmp 0x14008aa01
mov qword [rsp + 0x98], rbx
lea r14, [rsp + 0xd8]
mov r13, qword [r14 - 0x48]
mov rbx, qword [r14 - 0x30]
mov qword [r14 - 0x80], r15
mov rax, rsp
mov r15, rbp
mov rcx, rbx
mov rdx, r14
mov r8d, ebp
lea r9, [rsp + 0x4c]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008a9f2
mov r8, qword [r12 + 0x230]
test r8, r8
movsxd r9, dword [rsp + 0x4c]
cmove r8, rdi
sub r13, r9
cmp r13, r8
cmovbe rbp, r13
add r14, r9
add rsi, r9
test r13, r13
je 0x14008a9f2
cmp r9, r15
je 0x14008a99e
mov r15, qword [rsp + 0x58]
mov ebp, eax
mov rbx, qword [rsp + 0x98]
mov edi, 1
test ebp, ebp
cmovne ebp, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x3e3
je 0x14008b355
test ebp, ebp
je 0x14008b30d
test rsi, rsi
je 0x14008b2d7
jmp 0x14008a3ba
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r12 + 0x1a0], eax
mov eax, 0x26
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r12 + 0x1a0], eax
mov eax, 0x27
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0x27
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0x18
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rbx, qword [r12 + 0x88]
mov rsi, qword [r12 + 0x78]
jmp 0x140089bdd
neg eax
movsxd r9, eax
mov al, byte [r12 + 0x282]
or al, 0x20
jmp 0x140089d7d
mov rax, qword [r12 + 0x78]
cmp byte [rax + 2], 0x1a
jne 0x140089e0c
inc qword [r12 + 0x140]
mov eax, 0x18
and byte [r12 + 0x27f], 0xfb
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r14b, 1
call fcn.1400019fb
mov dword [rsp + 0x38], eax
movsxd rax, dword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp dword [0x140191994], 0
je 0x14008a144
test r13b, r13b
je 0x14008a144
test dil, dil
jne 0x14008a128
jmp 0x14008a144
mov rax, qword [rsp + 0x40]
mov r14b, 1
mov qword [rsp + 0x30], rax
test dil, dil
jne 0x14008a128
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x38], eax
jmp 0x14008a144
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14008b159
mov qword [rsp + 0x58], 0xffffffffffffffff
jmp 0x14008ab7d
mov rax, qword [rsp + 0x58]
jmp 0x14008a087
mov ebp, 1
jmp 0x14008a5d9
mov byte [rsp + 0xd0], 1
call fcn.1400019fb
mov dword [rsp + 0xb0], eax
movsxd rax, dword [rsp + 0xb0]
mov qword [rsp + 0x40], rax
cmp dword [0x140191994], 0
je 0x14008a4a1
test bpl, bpl
je 0x14008a4a1
mov al, byte [rsp + 0xc8]
test al, al
jne 0x14008a479
jmp 0x14008a4a1
mov rax, qword [rsp + 0xc0]
mov bpl, byte [rsp + 0xc8]
mov byte [rsp + 0xd0], 1
mov qword [rsp + 0x40], rax
test bpl, bpl
jne 0x14008a479
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0xb0], eax
jmp 0x14008a4a1
mov ebp, 1
jmp 0x14008a7f3
mov bpl, 1
call fcn.1400019fb
mov dword [rsp + 0x80], eax
movsxd rax, dword [rsp + 0x80]
mov qword [rsp + 0x38], rax
cmp dword [0x140191994], 0
je 0x14008a6c0
test dil, dil
je 0x14008a6c0
test r14b, r14b
jne 0x14008a69e
jmp 0x14008a6c0
mov rax, qword [rsp + 0xb8]
mov bpl, 1
mov qword [rsp + 0x38], rax
test r14b, r14b
jne 0x14008a69e
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x80], eax
jmp 0x14008a6c0
mov ebp, 1
jmp 0x14008aa0b
mov bpl, 1
call fcn.1400019fb
mov dword [rsp + 0x78], eax
movsxd rax, dword [rsp + 0x78]
mov qword [rsp + 0x30], rax
cmp dword [0x140191994], 0
je 0x14008a8cf
test dil, dil
je 0x14008a8cf
test r14b, r14b
jne 0x14008a8b3
jmp 0x14008a8cf
mov rax, qword [rsp + 0xa8]
mov bpl, 1
mov qword [rsp + 0x30], rax
test r14b, r14b
jne 0x14008a8b3
mov rax, qword [rsp + 0xa8]
mov dword [rsp + 0x78], eax
jmp 0x14008a8cf
cmp dword [r12 + 0x1d0], 0xfffffffc
jne 0x14008afab
call fcn.14000434f
cmp eax, 1
jle 0x14008afab
mov eax, 0x30d
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [r12 + 0x1a0], edi
cmp edi, 0x26
je 0x14008afab
cmp edi, 0x6d
jne 0x14008b33c
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp rax, qword [r12 + 0x198]
je 0x14008afab
mov eax, 0x27
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14008aa1f
cmp dword [r12 + 0x1d0], 0xfffffffc
jne 0x14008afab
call fcn.14000434f
cmp eax, 1
jle 0x14008afab
mov eax, 0x30d
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [r12 + 0x1a0], edi
cmp edi, 0x26
je 0x14008afab
cmp edi, 0x6d
jne 0x14008b3c7
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp rax, qword [r12 + 0x198]
je 0x14008afab
mov eax, 0x27
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14008a807
mov bpl, byte [rsp + 0x68]
mov rbx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x88]
jmp 0x140089ffa
cmp dword [r12 + 0x1d0], 0xfffffffc
jne 0x14008afab
call fcn.14000434f
cmp eax, 1
jle 0x14008afab
mov eax, 0x30d
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [r12 + 0x1a0], edi
cmp edi, 0x26
je 0x14008afab
cmp edi, 0x6d
jne 0x14008b46c
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp rax, qword [r12 + 0x198]
je 0x14008afab
mov eax, 0x27
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14008a5ed
cmp qword [rsp + 0xa8], 0
je 0x14008ba7d
test r14d, r14d
mov rax, qword [r12 + 0x70]
cmovne rax, qword [r12 + 0x108]
mov rdx, qword [r12 + 0xa0]
mov qword [rsp + 0x78], rax
cmp rax, rdx
je 0x14008b516
test r10, r10
jbe 0x14008b516
cmp rdx, qword [rsp + 0x78]
jb 0x14008b4e0
lea rdi, [rax + r10]
cmp rdi, rdx
ja 0x14008b4eb
cmp rdx, qword [rsp + 0x78]
ja 0x14008b4ff
lea rax, [r10 + rdx]
cmp rax, qword [rsp + 0x78]
jbe 0x14008b4ff
mov r8, r10
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x40], r9
call fcn.14000378d
jmp 0x14008b511
mov r8, r10
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x40], r9
call fcn.140003d46
mov r9, qword [rsp + 0x40]
mov rdi, qword [r12 + 0x1a8]
cmp rdi, qword [rsp + 0xe0]
jae 0x14008b5d9
test esi, esi
jne 0x14008b549
mov eax, 0x16
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, rbp
lea rdx, [r12 + 0x70]
mov r8, rdi
mov qword [rsp + 0x40], r9
lea rcx, [rax + r9 + 0x14]
call fcn.14000230b
mov r9, qword [rsp + 0x40]
test eax, eax
je 0x14008b585
mov eax, 0x62
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, rbp
movabs rdx, 0x2323232323232323
mov rdi, qword [r12 + 0x70]
movabs r8, 0x23232323232323
mov qword [rsp + 0x78], rdi
lea rsi, [rax + r9 + 4]
mov qword [r12 + 0x1c0], rsi
mov qword [r12 + 0x1a8], rsi
mov qword [rsi + rdi], rdx
mov r10, qword [r12 + 0x70]
mov r9, qword [r12 + 0x1a8]
mov qword [r9 + r10 + 8], r8
mov rdi, qword [r12 + 0x1a8]
mov sil, byte [r12 + 0x280]
and sil, 0x80
shr sil, 7
mov rax, qword [r12 + 0x138]
sub rdi, rax
mov rdx, qword [r12 + 0x198]
mov r9b, byte [r12 + 0x281]
and r9b, 1
add qword [rsp + 0x78], rax
mov qword [rsp + 0x58], rdx
mov byte [rsp + 0x70], sil
xor esi, esi
mov byte [rsp + 0x68], r9b
mov r15, qword [r12 + 0x238]
mov byte [rsp + 0x60], 0
call fcn.14000434f
cmp eax, 1
jle 0x14008b641
cmp dword [r12 + 0x40], 0xfffffffc
je 0x14008b94d
cmp dword [0x140191994], 0
je 0x14008b6f6
lea rax, [r15 - 1]
cmp rax, 1
ja 0x14008b65f
xor edi, edi
jmp 0x14008b7ed
mov al, byte [rsp + 0x70]
test al, al
je 0x14008b6ed
cmp r15, 0xfffffffffffffffa
je 0x14008b999
test r15, r15
je 0x14008b957
mov al, byte [rsp + 0x68]
test al, al
je 0x14008b6f6
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x48], ecx
call fcn.1400041a6
mov ecx, dword [rsp + 0x48]
call fcn.1400026bc
mov al, byte [rsp + 0x60]
test al, al
je 0x14008b6f6
mov edx, edi
mov rcx, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x48]
call fcn.140002018
movsxd rsi, eax
cmp eax, 0xffffffff
je 0x14008b658
lea rcx, [0x14014e280]
mov edx, 2
xor r9d, r9d
mov r8d, dword [rsp + 0x48]
call fcn.14000213a
mov rax, qword [rsp + 0x78]
mov edi, 1
mov byte [rsi + rax], 0xa
inc rsi
jmp 0x14008b7ed
test r15, r15
je 0x14008b957
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8, qword [r12 + 0x230]
mov eax, 0x20000
test r8, r8
cmove r8, rax
xor esi, esi
cmp rdi, r8
jbe 0x14008b71e
test r15, r15
jne 0x14008b74b
mov rax, rsp
mov r8d, edi
lea r9, [rsp + 0x48]
mov qword [rax + 0x20], 0
mov rcx, qword [r9 + 0x10]
mov rdx, qword [r9 + 0x30]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov edi, eax
movsxd rsi, dword [rsp + 0x48]
jmp 0x14008b7e3
mov dword [rsp + 0x38], ebp
mov r15, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x58]
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x90], rbx
mov rbx, r8
mov qword [rsp + 0x88], r13
mov r13, rax
mov r10, rsp
mov r14, rbx
mov rcx, rbp
mov rdx, r15
mov r8d, ebx
lea r9, [rsp + 0x48]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008b7c8
mov r9, qword [r12 + 0x230]
test r9, r9
movsxd r10, dword [rsp + 0x48]
cmove r9, r13
sub rdi, r10
cmp rdi, r9
cmovbe rbx, rdi
add r15, r10
add rsi, r10
test rdi, rdi
je 0x14008b7c8
cmp r10, r14
je 0x14008b774
mov r14d, dword [rsp + 0x30]
mov edi, eax
mov ebp, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x88]
mov edx, 1
test edi, edi
cmovne edi, edx
mov rdx, qword [rsp + 0x78]
mov r8, qword [r12 + 0x70]
mov qword [r12 + 0x78], rdx
add rdx, rsi
add qword [r12 + 0x138], rsi
mov qword [r12 + 0xa8], rdx
mov qword [r12 + 0xa0], r8
mov qword [r12 + 0x88], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
cmp r15d, 0x3e3
je 0x14008ba70
test edi, edi
jne 0x14008b887
mov dword [r12 + 0x1a0], r15d
cmp r15d, 0x26
je 0x14008afab
cmp r15d, 0x6d
jne 0x14008b86e
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp rax, qword [r12 + 0x198]
je 0x14008afab
mov eax, 0x27
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test rsi, rsi
jne 0x14008b8b4
cmp dword [r12 + 0x1d0], 0xfffffffc
je 0x14008b9c2
mov eax, 0x18
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test r14d, r14d
je 0x14008b8c2
or byte [r12 + 0x27f], 0x40
mov r10, qword [r12 + 0x138]
cmp r10, qword [rsp + 0xe0]
jb 0x14008ac3f
mov al, byte [r12 + 0x284]
mov dl, al
and dl, 1
mov rdi, qword [r12 + 0xa0]
sub r10, r13
lea rsi, [r13 + rdi]
mov qword [r12 + 0x78], rsi
cmp dl, 1
je 0x14008b9e9
mov rdx, qword [rsp + 0xe0]
add rdi, rdx
sub rbx, qword [rsp + 0x80]
sub r13, rdx
add r13, r10
add rbx, rdi
mov qword [r12 + 0xa0], rdi
mov qword [r12 + 0x138], r13
mov qword [r12 + 0x88], rbx
or byte [r12 + 0x27d], 2
mov dl, byte [r12 + 0x278]
jmp 0x14008a2a7
mov edi, 1
jmp 0x14008b7ed
mov byte [rsp + 0x60], 1
call fcn.1400019fb
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x48]
mov qword [rsp + 0x40], rax
cmp dword [0x140191994], 0
je 0x14008b6a5
mov al, byte [rsp + 0x70]
test al, al
je 0x14008b6a5
mov al, byte [rsp + 0x68]
test al, al
jne 0x14008b686
jmp 0x14008b6a5
mov rax, qword [rsp + 0x58]
mov dl, byte [rsp + 0x68]
mov byte [rsp + 0x60], 1
mov qword [rsp + 0x40], rax
test dl, dl
jne 0x14008b686
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x48], eax
jmp 0x14008b6a5
call fcn.14000434f
cmp eax, 1
jle 0x14008b89b
mov eax, 0x30d
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [r12 + 0x138], r10
test al, 0x40
je 0x14008ba4d
cmp r10, qword [rsp + 0xe0]
jb 0x14008ba2b
mov rdx, qword [rsp + 0xe0]
lea rbx, [rdi + r10]
add rdx, rdi
mov qword [r12 + 0xa0], rdx
mov qword [r12 + 0x88], rbx
mov dl, byte [r12 + 0x278]
jmp 0x14008a2a7
mov rbx, qword [r12 + 0x70]
add rbx, qword [r12 + 0x1a8]
mov qword [r12 + 0x88], rbx
mov dl, byte [r12 + 0x278]
jmp 0x14008a2a7
movsxd rbp, ebp
add rdi, r10
sub rbp, rbx
mov dl, byte [r12 + 0x278]
lea rbx, [rbp + rdi]
mov qword [r12 + 0x88], rbx
jmp 0x14008a2a7
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14008b839
cmp byte [rdi], 1
jne 0x14008b4a1
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], r13
mov rdx, qword [rsp + 0xe0]
sub rdx, r10
lea r8, [rsp + 0x74]
mov rcx, qword [r12 + 0x198]
mov r9d, 1
mov qword [r8 - 4], rdx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edx, eax
mov dword [rsp + 0x70], edx
mov eax, edx
cmp edx, 0xffffffff
je 0x14008c015
mov edx, dword [rsp + 0x74]
shl rdx, 0x20
or rdx, rax
cmp rdx, 0xffffffffffffffff
je 0x14008ab7d
test byte [r12 + 0x282], 0x20
je 0x14008bd92
mov r13b, byte [r12 + 0x280]
xor r15b, r15b
and r13b, 0x80
mov r14b, byte [r12 + 0x281]
mov rsi, qword [r12 + 0x198]
and r14b, 1
mov rbp, qword [r12 + 0x70]
shr r13b, 7
mov rbx, qword [r12 + 0x238]
mov qword [r12 + 0x138], 0
call fcn.14000434f
cmp eax, 1
jle 0x14008bb4d
cmp dword [r12 + 0x40], 0xfffffffc
je 0x14008bcbc
cmp dword [0x140191994], 0
je 0x14008bbf4
lea rax, [rbx - 1]
cmp rax, 1
jbe 0x14008bcbc
test r13b, r13b
je 0x14008bbeb
cmp rbx, 0xfffffffffffffffa
je 0x14008bd69
test rbx, rbx
je 0x14008bd34
test r14b, r14b
je 0x14008bbf4
mov ecx, edi
mov dword [rsp + 0x30], edi
call fcn.1400041a6
mov ecx, edi
call fcn.1400026bc
test r15b, r15b
je 0x14008bbf4
mov rcx, rbp
mov edx, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x30]
call fcn.140002018
movsxd rbx, eax
mov qword [r12 + 0x138], rbx
cmp eax, 0xffffffff
je 0x14008bcbc
lea rcx, [0x14014e280]
mov edx, 2
xor r9d, r9d
mov r8d, dword [rsp + 0x30]
call fcn.14000213a
mov byte [rbx + rbp], 0xa
inc qword [r12 + 0x138]
jmp 0x14008bcbc
test rbx, rbx
je 0x14008bd34
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [r12 + 0x230]
mov r13d, 0x20000
test r14, r14
cmove r14, r13
mov qword [r12 + 0x138], 0
cmp r14, qword [rsp + 0x90]
jae 0x14008bc2c
test rbx, rbx
jne 0x14008bc5b
mov rax, rsp
mov rcx, rsi
mov rdx, rbp
lea r9, [rsp + 0x38]
mov qword [rax + 0x20], 0
mov r8d, dword [r9 + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadFile]
movsxd rax, dword [rsp + 0x38]
mov qword [r12 + 0x138], rax
jmp 0x14008bcbc
mov rbx, qword [rsp + 0x90]
mov rax, rsp
mov rdi, r14
mov rcx, rsi
mov rdx, rbp
mov r8d, r14d
lea r9, [rsp + 0x38]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008bcbc
mov rax, qword [r12 + 0x230]
test rax, rax
movsxd r8, dword [rsp + 0x38]
cmove rax, r13
sub rbx, r8
cmp rbx, rax
cmovbe r14, rbx
add rbp, r8
add qword [r12 + 0x138], r8
test rbx, rbx
je 0x14008bcbc
cmp r8, rdi
je 0x14008bc63
mov r10, qword [r12 + 0x138]
mov rdx, qword [r12 + 0x70]
mov qword [r12 + 0x78], rdx
test byte [r12 + 0x27d], 0x20
lea rax, [r10 + rdx]
mov qword [r12 + 0xa8], rax
movzx ebp, byte [rdx]
movzx ebx, byte [rdx + 1]
movzx eax, byte [rdx + 2]
movzx esi, byte [rdx + 3]
je 0x14008bd05
shl eax, 8
shl ebx, 0x10
or esi, eax
shl ebp, 0x18
or esi, ebx
or esi, ebp
jmp 0x14008bd14
shl ebx, 8
shl eax, 0x10
or ebp, ebx
shl esi, 0x18
or ebp, eax
or esi, ebp
movsxd rdx, esi
jl 0x14008bd81
mov al, byte [r12 + 0x282]
and al, 0xdf
mov byte [r12 + 0x282], al
add rdx, 8
jmp 0x14008baa2
mov r15b, 1
call fcn.1400019fb
mov dword [rsp + 0x30], eax
movsxd rdi, dword [rsp + 0x30]
cmp dword [0x140191994], 0
je 0x14008bb9c
test r13b, r13b
je 0x14008bb9c
test r14b, r14b
jne 0x14008bb85
jmp 0x14008bb9c
mov r15b, 1
mov rdi, rsi
test r14b, r14b
jne 0x14008bb85
mov dword [rsp + 0x30], esi
jmp 0x14008bb9c
neg esi
mov al, byte [r12 + 0x282]
movsxd rdx, esi
or al, 0x20
jmp 0x14008bd23
mov r14b, byte [r12 + 0x280]
xor sil, sil
mov rax, qword [r12 + 0x198]
and r14b, 0x80
mov rdx, qword [r12 + 0x70]
mov dil, byte [r12 + 0x281]
mov rbx, qword [rsp + 0x90]
and dil, 1
mov r13, qword [rsp + 0x88]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rdx
shr r14b, 7
mov rbp, qword [r12 + 0x238]
mov qword [r12 + 0x138], 0
call fcn.14000434f
cmp eax, 1
jle 0x14008be02
cmp dword [r12 + 0x40], 0xfffffffc
je 0x14008bf7d
cmp dword [0x140191994], 0
je 0x14008beb7
lea rax, [rbp - 1]
cmp rax, 1
jbe 0x14008bf7d
test r14b, r14b
je 0x14008beae
cmp rbp, 0xfffffffffffffffa
je 0x14008bff8
test rbp, rbp
je 0x14008bfc3
test dil, dil
je 0x14008beb7
mov ecx, r15d
mov dword [rsp + 0x30], r15d
call fcn.1400041a6
mov ecx, r15d
call fcn.1400026bc
test sil, sil
je 0x14008beb7
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x30]
call fcn.140002018
movsxd rbx, eax
mov qword [r12 + 0x138], rbx
cmp eax, 0xffffffff
je 0x14008bf7d
lea rcx, [0x14014e280]
mov edx, 2
xor r9d, r9d
mov r8d, dword [rsp + 0x30]
call fcn.14000213a
mov rax, qword [rsp + 0x40]
mov byte [rbx + rax], 0xa
inc qword [r12 + 0x138]
jmp 0x14008bf7d
test rbp, rbp
je 0x14008bfc3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rsi, qword [r12 + 0x230]
mov edi, 0x20000
test rsi, rsi
cmove rsi, rdi
mov qword [r12 + 0x138], 0
cmp rbx, rsi
jbe 0x14008bee9
test rbp, rbp
jne 0x14008bf1a
mov rax, rsp
lea r9, [rsp + 0x30]
mov qword [rax + 0x20], 0
mov rcx, qword [r9 + 0x18]
mov rdx, qword [r9 + 0x10]
mov r8d, dword [r9 + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadFile]
movsxd rax, dword [rsp + 0x30]
mov qword [r12 + 0x138], rax
jmp 0x14008bf7d
mov rbp, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rax, rsp
mov r15, rsi
mov rcx, r14
mov rdx, rbp
mov r8d, esi
lea r9, [rsp + 0x30]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008bf7d
mov rax, qword [r12 + 0x230]
test rax, rax
movsxd r8, dword [rsp + 0x30]
cmove rax, rdi
sub rbx, r8
cmp rbx, rax
cmovbe rsi, rbx
add rbp, r8
add qword [r12 + 0x138], r8
test rbx, rbx
je 0x14008bf7d
cmp r8, r15
je 0x14008bf24
mov rsi, qword [r12 + 0x70]
mov rdx, qword [r12 + 0x138]
add rdx, rsi
mov qword [r12 + 0xa8], rdx
mov qword [r12 + 0xa0], rsi
add rsi, r13
mov qword [r12 + 0x78], rsi
or byte [r12 + 0x27d], 2
mov dl, byte [r12 + 0x278]
mov rbx, qword [r12 + 0x88]
jmp 0x14008a2a7
mov sil, 1
call fcn.1400019fb
mov dword [rsp + 0x30], eax
movsxd r15, dword [rsp + 0x30]
cmp dword [0x140191994], 0
je 0x14008be58
test r14b, r14b
je 0x14008be58
test dil, dil
jne 0x14008be3e
jmp 0x14008be58
mov r15, qword [rsp + 0x48]
mov sil, 1
test dil, dil
jne 0x14008be3e
mov rax, r15
mov dword [rsp + 0x30], eax
jmp 0x14008be58
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14008c02d
mov qword [rsp + 0x70], 0xffffffffffffffff
jmp 0x14008ab7d
mov rdx, qword [rsp + 0x70]
jmp 0x14008bade
cmp byte [rdi + 2], 1
jne 0x140089ebb
or byte [r12 + 0x27f], 0x20
mov rbx, qword [r12 + 0x88]
mov rsi, qword [r12 + 0x78]
jmp 0x14008a2a7
cmp byte [rdi + 2], 1
jne 0x140089ebb
mov rax, qword [rsp + 0xa8]
cmp rcx, qword [rax]
ja 0x140089ebb
or byte [r12 + 0x27f], 0x20
mov rbx, qword [r12 + 0x88]
mov rsi, qword [r12 + 0x78]
jmp 0x14008a2a7
test r11, r11
jne 0x140089ec4
jmp 0x14008b4a1
test r10, r10
jbe 0x14008c116
mov rdx, qword [r12 + 0xa0]
mov rcx, qword [r12 + 0x70]
cmp rcx, rdx
ja 0x14008c0c5
lea rax, [r10 + rcx]
cmp rax, rdx
ja 0x14008c0ce
cmp rcx, rdx
jb 0x14008c0f2
lea rax, [r10 + rdx]
cmp rcx, rax
jae 0x14008c0f2
mov r8, r10
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x98], r11
call fcn.14000378d
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
jmp 0x14008c12f
mov r8, r10
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x98], r11
call fcn.140003d46
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
jmp 0x14008c12f
mov al, byte [r12 + 0x284]
xor r10d, r10d
test al, 0x40
je 0x14008c12f
and al, 0x7f
mov byte [r12 + 0x284], al
mov rax, qword [r12 + 0x198]
xor r14d, r14d
mov qword [rsp + 0x78], rax
mov al, byte [r12 + 0x280]
and al, 0x80
shr al, 7
mov byte [rsp + 0x50], al
mov al, byte [r12 + 0x281]
and al, 1
mov byte [rsp + 0x48], al
mov rax, qword [r12 + 0x238]
mov rdx, qword [r12 + 0x70]
mov r9, qword [r12 + 0x1a8]
add rdx, r10
sub r9, r10
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x98], r11
call fcn.14000434f
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
cmp eax, 1
jle 0x14008c1c9
cmp dword [r12 + 0x40], 0xfffffffc
je 0x14008c50d
cmp dword [0x140191994], 0
je 0x14008c303
mov rax, qword [rsp + 0x58]
lea rdx, [rax - 1]
cmp rdx, 1
ja 0x14008c1f2
mov dword [rsp + 0x78], 0
jmp 0x14008c492
mov al, byte [rsp + 0x50]
test al, al
je 0x14008c2f7
cmp qword [rsp + 0x58], 0xfffffffffffffffa
je 0x14008c576
cmp qword [rsp + 0x58], 0
je 0x14008c51a
mov al, byte [rsp + 0x48]
test al, al
je 0x14008c303
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x98], r11
call fcn.1400041a6
mov ecx, dword [rsp + 0x38]
call fcn.1400026bc
mov al, byte [rsp + 0x40]
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
test al, al
je 0x14008c303
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x38]
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x98], r11
call fcn.140002018
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
movsxd rax, eax
mov qword [rsp + 0x60], rax
cmp eax, 0xffffffff
je 0x14008c1e5
lea rcx, [0x14014e280]
mov edx, 2
xor r9d, r9d
mov r8d, dword [rsp + 0x38]
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x98], r11
call fcn.14000213a
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
mov byte [rdx + rax], 0xa
inc rdx
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x78], 1
jmp 0x14008c492
cmp qword [rsp + 0x58], 0
je 0x14008c51a
mov qword [rsp + 0x70], r10
xor ecx, ecx
mov qword [rsp + 0x98], r11
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8, qword [r12 + 0x230]
mov eax, 0x20000
test r8, r8
cmove r8, rax
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
mov qword [rsp + 0x60], 0
cmp r8, qword [rsp + 0x80]
jae 0x14008c354
cmp qword [rsp + 0x58], 0
jne 0x14008c39e
mov rax, rsp
lea r9, [rsp + 0x50]
mov r8, qword [r9 + 0x30]
mov qword [rax + 0x20], 0
mov rcx, qword [r9 + 0x28]
mov rdx, qword [r9 + 0x18]
mov qword [r9 + 0x20], r10
mov qword [r9 + 0x48], r11
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
mov dword [rsp + 0x78], eax
movsxd rax, dword [rsp + 0x50]
mov qword [rsp + 0x60], rax
jmp 0x14008c480
mov dword [rsp + 0x38], ebp
mov qword [rsp + 0x88], r13
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x70], r10
mov dword [rsp + 0x30], r14d
mov r14, rax
mov qword [rsp + 0x58], r15
mov r15, r8
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x90], rbx
mov r13, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov r10, rsp
mov rbx, r15
mov rcx, rsi
mov rdx, rbp
mov r8d, r15d
lea r9, [rsp + 0x50]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008c443
mov r9, qword [r12 + 0x230]
test r9, r9
movsxd r10, dword [rsp + 0x50]
cmove r9, r14
sub rdi, r10
cmp rdi, r9
cmovbe r15, rdi
add rbp, r10
add r13, r10
test rdi, rdi
je 0x14008c443
cmp r10, rbx
je 0x14008c3ef
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x78], eax
mov r10, qword [rsp + 0x70]
mov r14d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp + 0x98]
mov ebp, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x88]
mov esi, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov edx, dword [rsp + 0x78]
mov eax, 1
test edx, edx
cmovne edx, eax
mov dword [rsp + 0x78], edx
mov rdx, qword [r12 + 0x70]
add r10, qword [rsp + 0x60]
mov qword [rsp + 0x98], r11
mov qword [r12 + 0x138], r10
mov qword [r12 + 0xa0], rdx
lea rax, [rdx + r10]
add r10, rdx
mov qword [r12 + 0xa8], rax
mov qword [r12 + 0x88], r10
mov qword [r12 + 0x78], rdx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r11, qword [rsp + 0x98]
cmp eax, 0x3e3
je 0x14008c61d
cmp dword [rsp + 0x78], 0
je 0x14008c5d5
cmp qword [rsp + 0x60], 0
je 0x14008c59f
mov r10, qword [r12 + 0x138]
jmp 0x140089d03
mov dword [rsp + 0x78], 1
jmp 0x14008c492
mov byte [rsp + 0x40], 1
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x98], r11
call fcn.1400019fb
mov r11, qword [rsp + 0x98]
mov r10, qword [rsp + 0x70]
mov dword [rsp + 0x38], eax
movsxd rax, dword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp dword [0x140191994], 0
je 0x14008c25f
mov al, byte [rsp + 0x50]
test al, al
je 0x14008c25f
mov al, byte [rsp + 0x48]
test al, al
jne 0x14008c222
jmp 0x14008c25f
mov rax, qword [rsp + 0x78]
mov dl, byte [rsp + 0x48]
mov byte [rsp + 0x40], 1
mov qword [rsp + 0x30], rax
test dl, dl
jne 0x14008c222
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x38], eax
jmp 0x14008c25f
cmp dword [r12 + 0x1d0], 0xfffffffc
jne 0x14008afab
call fcn.14000434f
cmp eax, 1
jle 0x14008afab
mov eax, 0x30d
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [r12 + 0x1a0], eax
cmp eax, 0x26
je 0x14008afab
cmp eax, 0x6d
jne 0x14008c604
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp rax, qword [r12 + 0x198]
je 0x14008afab
mov eax, 0x27
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [rsp + 0x40], eax
xor ecx, ecx
mov qword [rsp + 0x98], r11
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r11, qword [rsp + 0x98]
mov eax, dword [rsp + 0x40]
jmp 0x14008c4e9
call fcn.14000434f
cmp eax, 1
jle 0x140089006
mov eax, 0x30d
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0x43
add rsp, 0xe8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret