Function at 0x140080d90
Capabilities:
Clear file content
Read file on windows
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov r15, rcx
lea rcx, [rax - 0x58]
mov rbx, rdx
call fcn.140055fcc
xor r12d, r12d
mov edi, 0x4b0
lea ebp, [r12 + 0x2d]
lea r14d, [r12 + 9]
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xc0], r12
lea esi, [rdi + 1]
lea ecx, [rbp - 0xd]
lea edx, [rbp - 0x20]
cmp r14w, word [rbx]
ja 0x140080df6
cmp word [rbx], dx
jbe 0x140080dfb
cmp cx, word [rbx]
jne 0x140080e03
mov edi, r12d
jmp 0x140080f59
lea rcx, str._UNI
mov r8d, 4
mov rdx, rbx
call fcn.14004fda0
cmp al, r12b
jne 0x140080f51
mov r11d, 5
lea rcx, str._UNIB
mov rdx, rbx
mov r8d, r11d
call fcn.14004fda0
cmp al, r12b
je 0x140080e45
mov edi, esi
jmp 0x140080f51
lea rcx, str._UNICODE
mov r8d, 8
mov rdx, rbx
call fcn.14004fda0
cmp al, r12b
jne 0x140080f51
lea rcx, str._UNICODEB
mov r8d, r14d
mov rdx, rbx
call fcn.14004fda0
cmp al, r12b
jne 0x140080e3e
lea rcx, str._UTF8
mov r8d, r11d
mov rdx, rbx
call fcn.14004fda0
cmp al, r12b
je 0x140080e9b
mov edi, 0xfde9
jmp 0x140080f51
lea rcx, str._UTF7
mov r8d, r11d
mov rdx, rbx
call fcn.14004fda0
cmp al, r12b
je 0x140080ebc
mov edi, 0xfde8
jmp 0x140080f51
lea rcx, str._GBK
mov r8d, 4
mov rdx, rbx
call fcn.14004fda0
cmp al, r12b
je 0x140080edd
mov edi, 0x3a8
jmp 0x140080f51
lea rcx, str._BIG5
mov r8d, r11d
mov rdx, rbx
call fcn.14004fda0
cmp al, r12b
je 0x140080efb
mov edi, 0x3b6
jmp 0x140080f51
lea rcx, str._ANSI
mov r8d, r11d
mov rdx, rbx
call fcn.14004fda0
cmp al, r12b
je 0x140080f17
mov edi, r12d
jmp 0x140080f51
cmp bp, word [rbx]
jne 0x140081ec3
add rbx, 2
movzx eax, word [rbx]
sub ax, 0x30
cmp ax, r14w
ja 0x140081ec3
mov rcx, rbx
mov qword [rsp + 0x118], rbx
call fcn.1400571fc
cmp eax, r12d
mov rdi, rax
jl 0x140081ec3
mov edx, 0xd
lea ecx, [rdx + 0x13]
mov esi, 2
jmp 0x140080f7b
cmp r14w, ax
ja 0x140080f6b
cmp ax, dx
jbe 0x140080f84
cmp cx, ax
je 0x140080f84
add rbx, rsi
mov qword [rsp + 0x118], rbx
movzx eax, word [rbx]
cmp ax, r12w
jne 0x140080f60
lea rcx, [rsp + 0x118]
call fcn.14004ea3c
mov ebx, 0x2a
mov byte [rsp + 0x128], r12b
mov byte [rsp + 0x43], r12b
mov byte [rsp + 0x41], r12b
mov bpl, r12b
lea r13d, [rbx - 0x29]
mov byte [rsp + 0x42], r12b
jmp 0x1400810ca
lea rdx, [rsp + 0x118]
lea rcx, [0x1400f4494]
mov r8d, 4
call fcn.140058710
cmp al, r12b
je 0x140080fe5
mov byte [rsp + 0x128], sil
jmp 0x1400810ca
lea rdx, [rsp + 0x118]
lea rcx, str._nl
mov r8d, 4
call fcn.140058710
cmp al, r12b
je 0x14008100e
mov byte [rsp + 0x43], r13b
jmp 0x1400810ca
lea rdx, [rsp + 0x118]
lea rcx, [0x1400f4500]
mov r8d, esi
call fcn.140058710
cmp al, r12b
je 0x140081034
mov byte [rsp + 0x41], r13b
jmp 0x1400810ca
lea rdx, [rsp + 0x118]
lea rcx, [0x1400f44fc]
mov r8d, 3
call fcn.140058710
cmp al, r12b
je 0x140081058
mov bpl, r13b
jmp 0x1400810ca
lea rdx, [rsp + 0x118]
lea rcx, [0x1400ee5e8]
mov r8d, esi
call fcn.140058710
cmp al, r12b
je 0x14008107b
mov byte [rsp + 0x42], r13b
jmp 0x1400810ca
mov rcx, qword [rsp + 0x118]
movzx eax, word [rcx]
cmp ax, r12w
je 0x1400810bd
mov edx, 0x20
lea ebx, [rdx - 0x13]
cmp r14w, ax
ja 0x14008109f
cmp ax, bx
jbe 0x1400810b0
cmp dx, ax
je 0x1400810b0
add rcx, rsi
mov ax, word [rcx]
cmp ax, r12w
jne 0x140081094
mov qword [rsp + 0x118], rcx
mov ebx, 0x2a
lea rcx, [rsp + 0x118]
call fcn.14004ea3c
mov rax, qword [rsp + 0x118]
cmp bx, word [rax]
je 0x140080fb9
lea rbx, [0x1400e94a4]
lea rcx, [rsp + 0x78]
mov rdx, rbx
call fcn.14006016c
lea rdx, [0x1400f44f4]
lea rcx, [rsp + 0x70]
call fcn.14006016c
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0xb0]
mov r8d, 0x2c
mov r9b, r13b
mov r14, r12
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x68], r12
call fcn.14006cfc8
lea rdx, [rsp + 0x78]
xor r8d, r8d
mov rcx, rax
call fcn.140059810
mov rcx, qword [rsp + 0x78]
call fcn.1400188a8
mov qword [rsp + 0x90], rax
cmp word [rax], r12w
jne 0x140081176
lea rcx, [rsp + 0x70]
call fcn.14004ea6c
lea rcx, [rsp + 0x78]
call fcn.14004ea6c
mov r12, 0xffffffff80070057
jmp 0x140081ec9
mov rax, qword [rsp + 0x118]
mov r8d, 0x2c
cmp word [rax], r8w
jne 0x1400811f0
add rax, rsi
lea rcx, [rsp + 0x118]
mov qword [rsp + 0x118], rax
call fcn.14004ea3c
mov rax, qword [rsp + 0x118]
cmp word [rax], r8w
je 0x1400811ec
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0xb0]
mov r9b, r13b
call fcn.14006cfc8
lea rdx, [rsp + 0x70]
xor r8d, r8d
mov rcx, rax
call fcn.140059810
mov rax, qword [rsp + 0x118]
mov r8d, 0x2c
cmp word [rax], r8w
jne 0x1400811f0
lea rbx, [rax + 2]
mov rax, qword [rsp + 0x70]
mov sil, r12b
mov byte [rsp + 0x40], r12b
cmp word [rax], 0x24
mov qword [rsp + 0x118], rax
jne 0x14008121a
mov sil, byte [rax]
add rax, 2
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0x118]
call fcn.14004ea3c
mov rcx, qword [rsp + 0x118]
cmp word [rcx], 0x2b
je 0x14008123f
mov eax, 0x2d
cmp word [rcx], ax
jne 0x140081251
mov al, byte [rcx]
add rcx, 2
mov byte [rsp + 0x40], al
mov qword [rsp + 0x118], rcx
lea rcx, [rsp + 0x118]
call fcn.14004ea3c
mov rcx, qword [rsp + 0x118]
movzx eax, word [rcx]
mov ecx, 9
sub ax, 0x30
cmp ax, cx
ja 0x1400812b4
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x118]
call fcn.140059ae8
mov r14, qword [rsp + 0x68]
cmp r14, r12
mov qword [rsp + 0x80], r14
jge 0x1400812b4
lea rcx, [rsp + 0x70]
call fcn.14004ea6c
lea rcx, [rsp + 0x78]
call fcn.14004ea6c
jmp 0x140081ec9
lea rcx, [rsp + 0x48]
call fcn.140055fcc
mov eax, 0x26
cmp bpl, r12b
je 0x140081323
cmp ax, word [rbx]
je 0x1400812e3
test byte [r15 + 0xd], 0xf
jne 0x1400812e3
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.14005f4e8
jmp 0x14008134c
lea rcx, [0x140107de8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, r15
call fcn.14001aea0
cmp rax, r12
je 0x140081314
mov rdx, qword [rax]
lea rcx, [rsp + 0x48]
call fcn.140060284
lea rcx, [0x140107de8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14008134c
mov rdx, rbx
cmp sil, r12b
je 0x140081342
lea r8, [rsp + 0x48]
xor r9d, r9d
mov rcx, r15
mov byte [rsp + 0x20], r13b
call fcn.140069b2c
jmp 0x14008134c
lea rcx, [rsp + 0x48]
call fcn.1400601ec
mov r9, qword [rsp + 0x90]
lea rcx, [0x1400e9ebc]
mov rbx, r12
mov rdx, r9
mov qword [rsp + 0x50], rbx
mov rsi, r12
mov r15b, r12b
mov byte [rsp + 0x118], r12b
call fcn.14004fe38
cmp al, r12b
je 0x14008138a
mov rsi, qword [0x1401042f0]
mov r15b, 2
jmp 0x1400813a8
lea rcx, [0x1400ea6f0]
mov rdx, r9
call fcn.14004fe38
cmp al, r12b
je 0x1400813b0
mov rsi, qword [0x1401042e8]
mov r15b, r13b
mov byte [rsp + 0x118], r15b
cmp byte [rsp + 0x43], r12b
jne 0x1400813cf
cmp byte [rsp + 0x41], r12b
jne 0x1400813cf
lea rdx, [0x1400e9a5c]
lea rcx, [rsp + 0x48]
call fcn.140056108
mov rbp, r12
cmp byte [rsp + 0x41], r12b
je 0x1400813e3
mov edi, 0x4b0
jmp 0x140081601
cmp r15b, r12b
jne 0x140081601
mov rsi, qword [rsp + 0x90]
lea rcx, str.CONOUT_
mov r15b, r13b
mov rdx, rsi
call fcn.14004fe38
cmp al, r12b
je 0x140081418
mov ecx, 0x100
mov r15b, r12b
call fcn.140053a08
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], 0x80
lea rcx, [rsp + 0x50]
mov r9d, 7
mov r8d, 0xc0000000
mov rdx, rsi
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], r12
call fcn.140003590
mov rbx, qword [rsp + 0x50]
cmp r15b, r12b
je 0x140081464
cmp rbx, r12
jne 0x1400814a1
xor edx, edx
mov rcx, rsi
call fcn.14005d890
cmp rbx, r12
jne 0x1400814a1
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], 0x80
lea rcx, [rsp + 0x50]
mov r9d, 7
mov r8d, 0xc0000000
mov rdx, rsi
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], r12
call fcn.140003590
mov rbx, qword [rsp + 0x50]
mov rsi, rbx
cmp rbx, r12
jne 0x1400814c1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
lea rcx, [rsp + 0x48]
call fcn.14004ea6c
jmp 0x14008129b
xor r8d, r8d
mov al, r12b
mov cl, r12b
mov dl, r12b
mov qword [rsp + 0xa0], r12
mov byte [rsp + 0x58], al
mov byte [rsp + 0x59], cl
mov word [rsp + 0x5b], r8w
mov byte [rsp + 0x5a], dl
cmp r15b, r12b
je 0x140081519
lea r9, [rsp + 0xa0]
lea rdx, [rsp + 0x58]
mov r8d, 3
mov rcx, rbx
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dl, byte [rsp + 0x5a]
mov cl, byte [rsp + 0x59]
mov al, byte [rsp + 0x58]
cmp al, 0xff
jne 0x140081532
cmp cl, 0xfe
jne 0x140081561
mov r8d, 2
mov edi, 0x4b0
mov rbp, r8
jmp 0x140081538
mov r8d, 2
cmp al, 0xfe
jne 0x140081549
cmp cl, 0xff
jne 0x140081561
mov edi, 0x4b1
mov rbp, r8
cmp al, 0xef
jne 0x140081561
cmp cl, 0xbb
jne 0x140081561
cmp dl, 0xbf
jne 0x140081561
mov edi, 0xfde9
mov ebp, 3
lea rcx, [rsp + 0xa0]
call fcn.140055b90
mov r15b, byte [rsp + 0x42]
cmp qword [rax], r12
je 0x14008158d
cmp r15b, r12b
jne 0x14008158d
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.14004fd5c
jmp 0x140081601
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14004fd5c
cmp r15b, r12b
je 0x1400815a8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp edi, 0x4b0
jne 0x1400815be
mov eax, 2
lea rdx, [0x1400f0778]
jmp 0x1400815e8
cmp edi, 0x4b1
jne 0x1400815d4
mov eax, 2
lea rdx, [0x1400f077c]
jmp 0x1400815e8
cmp edi, 0xfde9
jne 0x140081601
mov eax, 3
lea rdx, [0x1400f0780]
lea r9, [rsp + 0x60]
mov r8d, eax
mov rcx, rbx
mov qword [rsp + 0x20], r12
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r15, eax
add r15, r15
cmp edi, 0x4b0
je 0x140081682
cmp edi, 0x4b1
jne 0x140081631
mov rcx, qword [rsp + 0x48]
mov edx, r15d
call fcn.1400539e8
jmp 0x140081682
lea rcx, [rsp + 0x48]
cmp edi, 0xfde9
jne 0x140081648
call fcn.140014c2c
mov r15, rax
jmp 0x140081682
mov rdx, qword [rsp + 0x48]
movzx r9d, di
or r8, 0xffffffffffffffff
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x48], r12
call fcn.140055f08
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea rcx, [rsp + 0x88]
movsxd r15, eax
call fcn.14004ea6c
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
cmp byte [rsp + 0x118], r12b
je 0x140081742
cmp rsi, 0xffffffffffffffff
jne 0x1400816d9
cmp rbx, r12
je 0x1400816b3
cmp rbx, rsi
je 0x1400816b3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x48]
call fcn.14004ea6c
lea rcx, [rsp + 0x70]
call fcn.14004ea6c
lea rcx, [rsp + 0x78]
call fcn.14004ea6c
mov r12, r13
jmp 0x140081ec9
lea r9, [rsp + 0x118]
mov r8d, r15d
mov rdx, rax
mov rcx, rsi
mov dword [rsp + 0x118], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
cmp rbx, r12
je 0x1400814b2
cmp rbx, 0xffffffffffffffff
je 0x1400814b2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400814b2
lea rcx, [rsp + 0x88]
call fcn.140055fcc
lea rcx, [rsp + 0xa8]
call fcn.140055fcc
lea rcx, [rsp + 0x98]
call fcn.140055d78
lea rcx, [rsp + 0x60]
call fcn.140055d78
cmp byte [rsp + 0x41], r12b
je 0x140081aff
lea rcx, [rsp + 0x128]
call fcn.140055fcc
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x110]
mov eax, 0x26
cmp ax, word [rdi]
je 0x1400817bd
test byte [rsi + 0xd], 0xf
jne 0x1400817bd
lea rdx, [rsp + 0x128]
mov rcx, rdi
call fcn.14005f4e8
jmp 0x1400817fe
lea rcx, [0x140107de8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.14001aea0
cmp rax, r12
je 0x1400817f1
mov rdx, qword [rax]
lea rcx, [rsp + 0x128]
call fcn.140060284
lea rcx, [0x140107de8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rsi, qword [rsp + 0x128]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r11b, byte [rsp + 0x40]
mov rcx, r12
movsxd r8, eax
mov eax, 0x2d
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x80], r8
mov rdi, r8
cmp r11b, al
jne 0x14008183e
mov qword [rsp + 0x68], r12
jmp 0x14008184e
mov rax, r15
cqo
sub rax, rdx
sar rax, 1
mov qword [rsp + 0x68], rax
mov rbp, r12
mov r15, r12
mov r9d, 0xa
cmp r14, r12
jne 0x1400818f3
cmp r11b, 0x2b
je 0x1400819a3
cmp r8, r12
jle 0x1400818db
cmp word [rsi + r8*2 - 2], r9w
jne 0x140081894
lea rdi, [r8 - 1]
cmp rdi, r12
jle 0x1400818db
lea r10d, [r9 + 3]
cmp word [rsi + rdi*2 - 2], r10w
jne 0x14008189a
sub rdi, r13
jmp 0x14008189a
mov r10d, 0xd
cmp rdi, r12
jle 0x1400818db
lea rax, [rsi + rdi*2 - 2]
cmp rax, rsi
jb 0x1400818db
mov edx, 2
cmp word [rax], r9w
je 0x1400818c1
sub rax, rdx
sub rdi, r13
cmp rax, rsi
jae 0x1400818ae
jmp 0x1400818db
cmp r11b, 0x2d
jne 0x1400818db
sub rax, rdx
sub rdi, r13
cmp rax, rsi
jb 0x1400818db
cmp word [rax], r10w
jne 0x1400818db
sub rdi, r13
mov eax, 0x2d
mov word [rsi + rdi*2], r12w
cmp r11b, al
jne 0x1400819ad
jmp 0x140081a9f
cmp r11b, 0x2b
mov eax, r12d
mov rcx, rsi
sete al
mov edx, r12d
mov rbp, r8
add eax, r13d
movsxd r10, eax
cmp r14, r10
jl 0x140081997
mov edi, 2
lea r15d, [rdi + 0xb]
movzx eax, word [rcx]
cmp ax, r12w
je 0x140081997
cmp ax, r9w
je 0x14008196e
cmp ax, r15w
jne 0x14008193c
add rcx, rdi
cmp word [rcx], r9w
je 0x14008194a
add rcx, rdi
mov ax, word [rcx]
cmp ax, r12w
je 0x140081992
jmp 0x140081927
cmp r10, r14
jne 0x14008195b
mov rbp, rcx
sub rbp, rsi
sar rbp, 1
sub rbp, r13
cmp r14, rdi
jne 0x14008198c
mov rdx, rcx
sub rdx, rsi
sar rdx, 1
sub edx, r13d
jmp 0x14008198c
cmp r10, r14
jne 0x14008197c
mov rbp, rcx
sub rbp, rsi
sar rbp, 1
cmp r14, rdi
jne 0x14008198c
mov rax, rcx
sub rax, rsi
sar rax, 1
mov edx, eax
sub r14, r13
add rcx, rdi
cmp r14, r10
jge 0x14008191e
mov r15, r8
movsxd rdi, edx
mov rcx, r12
sub r15, rbp
mov eax, 0x2d
cmp r11b, al
je 0x1400819c9
cmp rdi, r12
jle 0x1400819c9
cmp word [rsi + rdi*2 - 2], r9w
mov eax, 2
cmovne rcx, rax
mov qword [rsp + 0x118], rcx
mov r13, qword [rsp + 0x68]
lea rax, [r15 + r13]
add rax, rcx
lea r14, [rax + rdi + 1]
mov rax, qword [rsp + 0x128]
cmp r8, r14
lea r9, [rax + rdi*2]
jl 0x140081a0c
cmp r15, r12
jle 0x140081a0c
mov rax, rbp
lea r8, [r15 + r15]
sub rax, rdi
lea rdx, [r9 + rax*2]
lea rax, [r13 + rcx]
lea rcx, [r9 + rax*2]
call fcn.14001a478
lea rcx, [rsp + 0x128]
mov rdx, r14
call fcn.1400560cc
cmp qword [rsp + 0x80], r14
mov r11, qword [rsp + 0x128]
lea rsi, [r11 + rdi*2]
jge 0x140081a5a
cmp r15, r12
jle 0x140081a5a
sub rbp, rdi
mov rdi, qword [rsp + 0x118]
lea r8, [r15 + r15]
lea rax, [r13 + rdi]
lea rdx, [rsi + rbp*2]
lea rcx, [rsi + rax*2]
call fcn.14001a478
jmp 0x140081a62
mov rdi, qword [rsp + 0x118]
cmp rdi, r12
je 0x140081a7e
mov eax, 0xd
mov word [rsi], ax
lea ecx, [rax - 0xb]
add rsi, rcx
lea eax, [rcx + 8]
mov word [rsi], ax
add rsi, rcx
cmp r13, r12
jle 0x140081a9a
mov rdx, qword [rsp + 0x48]
movsxd r8, r13d
mov rcx, rsi
add r8, r8
call fcn.14001a4c0
lea rsi, [rsi + r13*2]
mov word [rsi + r15*2], r12w
mov r8, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x110]
call fcn.140055710
lea rcx, [rsp + 0x128]
call fcn.14004ea6c
lea rcx, [rsp + 0x60]
call fcn.14004ea6c
lea rcx, [rsp + 0x98]
call fcn.14004ea6c
lea rcx, [rsp + 0xa8]
call fcn.14004ea6c
lea rcx, [rsp + 0x88]
call fcn.14004ea6c
jmp 0x140081721
cmp r14, r12
jne 0x140081bbb
cmp byte [rsp + 0x40], 0x2b
mov rcx, rbx
je 0x140081baa
xor r8d, r8d
mov rdx, rbp
call fcn.14004fd5c
mov r8d, r13d
xor edx, edx
mov rcx, rbx
call fcn.14004fd5c
mov r9b, byte [rsp + 0x128]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
mov r8d, edi
mov rsi, rax
call fcn.14005d404
cmp eax, r12d
je 0x140081b8d
mov r14b, byte [rsp + 0x128]
mov r8d, r13d
xor edx, edx
mov rcx, rbx
mov rbp, rsi
call fcn.14004fd5c
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
mov r9b, r14b
mov r8d, edi
mov rsi, rax
call fcn.14005d404
cmp eax, r12d
jne 0x140081b58
mov r14, qword [rsp + 0x80]
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.14004fd5c
lea rcx, [rsp + 0x50]
mov rdx, rbp
call fcn.14005d924
jmp 0x140081bf1
mov eax, 2
xor edx, edx
mov r8d, eax
call fcn.14004fd5c
jmp 0x140081bf1
cmp r13, r14
mov rsi, r13
jge 0x140081bf1
mov bl, byte [rsp + 0x128]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
mov r9b, bl
mov r8d, edi
call fcn.14005d404
cmp eax, r12d
je 0x140081bec
add rsi, r13
cmp rsi, r14
jl 0x140081bca
mov rbx, qword [rsp + 0x50]
mov al, byte [rsp + 0x40]
cmp al, 0x2b
jne 0x140081cd3
mov rcx, rbx
cmp r14, r12
je 0x140081d9e
mov r8d, r13d
xor edx, edx
call fcn.14004fd5c
mov rcx, rbx
mov rdi, rax
call fcn.1400bbcc0
lea rcx, [rsp + 0x128]
sub eax, edi
mov esi, eax
cmp eax, r12d
cmovl esi, r12d
add eax, 0xca
movsxd rdx, eax
call fcn.140055ddc
movsxd rdi, edi
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.14004fd5c
mov rdx, qword [rsp + 0x128]
lea r9, [rsp + 0x118]
mov r8d, esi
mov rcx, rbx
mov dword [rsp + 0x118], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.14004fd5c
mov rdx, qword [rsp + 0x68]
lea r9, [rsp + 0x110]
mov r8d, r15d
mov rcx, rbx
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp esi, r12d
jle 0x140081eb1
mov r8d, esi
mov rdx, qword [rsp + 0x128]
lea r9, [rsp + 0x110]
mov rcx, rbx
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140081eb1
cmp al, 0x2d
jne 0x140081d96
cmp r14, r12
je 0x140081ac9
mov r8d, r13d
xor edx, edx
mov rcx, rbx
call fcn.14004fd5c
mov r9b, byte [rsp + 0x128]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
mov r8d, edi
mov rbp, rax
call fcn.14005d404
mov r8d, r13d
xor edx, edx
mov rcx, rbx
call fcn.14004fd5c
mov rcx, rbx
mov rdi, rax
call fcn.1400bbcc0
mov rsi, rax
sub esi, edi
lea ecx, [rsi + 0xca]
movsxd rdx, ecx
lea rcx, [rsp + 0x128]
call fcn.140055ddc
mov rdx, qword [rsp + 0x128]
lea r8d, [rsi + 0xc8]
lea r9, [rsp + 0x118]
mov rcx, rbx
mov dword [rsp + 0x118], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.14004fd5c
lea rcx, [rsp + 0x50]
mov rdx, rbp
call fcn.14005d924
mov r8d, dword [rsp + 0x118]
jmp 0x140081cb0
mov rcx, rbx
cmp r14, r12
jne 0x140081dbe
mov rdx, qword [rsp + 0x68]
lea r9, [rsp + 0x118]
mov r8d, r15d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140081ac9
mov r8d, r13d
xor edx, edx
call fcn.14004fd5c
mov r9b, byte [rsp + 0x128]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
mov r8d, edi
mov rbp, rax
call fcn.14005d404
mov r8d, r13d
xor edx, edx
mov rcx, rbx
call fcn.14004fd5c
mov rcx, rbx
mov rdi, rax
call fcn.1400bbcc0
mov rsi, rax
sub esi, edi
lea ecx, [rsi + 0xca]
movsxd rdx, ecx
lea rcx, [rsp + 0x128]
call fcn.140055ddc
mov rdx, qword [rsp + 0x128]
lea r8d, [rsi + 0xc8]
lea r9, [rsp + 0x118]
mov rcx, rbx
mov dword [rsp + 0x118], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.14004fd5c
mov rdx, qword [rsp + 0x68]
lea r9, [rsp + 0x110]
mov r8d, r15d
mov rcx, rbx
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8d, dword [rsp + 0x118]
mov rdx, qword [rsp + 0x128]
lea r9, [rsp + 0x110]
mov rcx, rbx
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8d, r13d
xor edx, edx
mov rcx, rbx
call fcn.14004fd5c
lea rcx, [rsp + 0x50]
movsxd rdx, eax
call fcn.14005d924
lea rcx, [rsp + 0x128]
call fcn.14004ea6c
jmp 0x140081ac9
mov r12d, 1
lea rcx, [rsp + 0xb0]
call fcn.14004ea6c
mov rbx, qword [rsp + 0x120]
mov rax, r12
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret