Function at 0x140090b30
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov rax, rsp
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, 0x100
mov qword [rsp + 0xf0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rbx, rcx
lea rcx, [rax - 0x98]
call fcn.140063500
mov qword [rsp + 0xa8], rbx
xor r15d, r15d
mov qword [rsp + 0xb0], r15
lea rcx, [rsp + 0x148]
call fcn.14005b560
lea rcx, [rsp + 0x90]
call fcn.140063500
nop
lea rcx, [rsp + 0x78]
call fcn.140063500
nop
lea rcx, [rsp + 0x98]
call fcn.140063500
nop
lea rcx, [rsp + 0x80]
call fcn.140063500
nop
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x148]
call fcn.140063500
nop
lea r8d, [r15 + 0x2c]
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x68]
call fcn.1400668d0
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [rsp + 0xa0]
mov rdx, qword [rsp + 0x148]
mov rcx, rbx
call fcn.14006d870
mov r11, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], r11
lea rcx, [rsp + 0x148]
call fcn.14005b520
xor r8d, r8d
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xb0]
call fcn.140066780
mov byte [rsp + 0x64], r15b
mov byte [rsp + 0x40], r15b
mov rbx, qword [rsp + 0x90]
mov rcx, rbx
mov rdi, r15
movzx eax, word [rbx]
lea ebp, [r15 + 9]
lea esi, [rbp + 0x17]
test ax, ax
je 0x140090c9c
nop
cmp bp, ax
ja 0x140090c7b
cmp ax, 0xd
jbe 0x140090c80
cmp si, ax
jne 0x140090c83
mov rdi, rcx
add rcx, 2
mov ax, word [rcx]
test ax, ax
jne 0x140090c70
test rdi, rdi
je 0x140090c9c
mov word [rdi], r15w
add rdi, 2
mov rax, rbx
mov qword [rsp + 0x148], rbx
mov r12d, 0x2a
test rdi, rdi
je 0x140090d7b
cmp r12w, word [rbx]
jne 0x140090d7b
mov r15d, 0x2d
nop word [rax + rax]
cmp r15w, word [rax + 2]
je 0x140090d78
mov r8d, 6
lea rdx, [rsp + 0x148]
lea rcx, str.nobom
call fcn.140065780
test al, al
je 0x140090d00
mov byte [rsp + 0x40], 1
jmp 0x140090d66
mov r8d, 0xa
lea rdx, [rsp + 0x148]
lea rcx, str.transonly
call fcn.140065780
test al, al
je 0x140090d25
mov byte [rsp + 0x64], 1
jmp 0x140090d66
mov rcx, qword [rsp + 0x148]
movzx eax, word [rcx]
test ax, ax
je 0x140090d59
cmp bp, ax
ja 0x140090d40
cmp ax, 0xd
jbe 0x140090d51
cmp si, ax
je 0x140090d51
add rcx, 2
mov ax, word [rcx]
test ax, ax
jne 0x140090d35
mov qword [rsp + 0x148], rcx
lea rcx, [rsp + 0x148]
call fcn.14005b560
mov rax, qword [rsp + 0x148]
cmp r12w, word [rax]
je 0x140090cd0
xor r15d, r15d
xor r13b, r13b
xor bpl, bpl
mov byte [rsp + 0x70], bpl
mov byte [rsp + 0x148], bpl
xor r12b, r12b
mov byte [rsp + 0x158], bpl
test rdi, rdi
je 0x140090dca
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.140071240
mov r11, qword [rsp + 0x58]
mov qword [rsp + 0x58], rbx
mov rbx, r11
mov qword [rsp + 0x90], rbx
lea rcx, [rsp + 0x58]
call fcn.14005b520
mov rax, qword [rsp + 0x68]
lea r14, [rax + 2]
mov qword [rsp + 0xd0], r14
mov edi, 0x2c
cmp di, word [rax]
jne 0x140090e5d
mov qword [rsp + 0x68], r14
lea rcx, [rsp + 0x58]
call fcn.140063500
nop
mov r8d, edi
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x68]
call fcn.1400668d0
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [rsp + 0xa0]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xa8]
call fcn.14006d870
mov r11, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], r11
lea rcx, [rsp + 0x58]
call fcn.14005b520
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0xb0]
call fcn.1400668d0
mov rax, qword [rsp + 0x68]
cmp di, word [rax]
jne 0x140090ee1
add rax, 2
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x58]
call fcn.140063500
nop
mov r8d, edi
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x68]
call fcn.1400668d0
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [rsp + 0xa0]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xa8]
call fcn.14006d870
mov r11, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], r11
lea rcx, [rsp + 0x58]
call fcn.14005b520
xor r8d, r8d
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0xb0]
call fcn.140066780
mov rax, qword [rsp + 0x68]
cmp di, word [rax]
jne 0x140090f60
add rax, 2
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x58]
call fcn.140063500
nop
mov r8d, edi
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x68]
call fcn.1400668d0
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [rsp + 0xa0]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xa8]
call fcn.14006d870
mov r11, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], r11
lea rcx, [rsp + 0x58]
call fcn.14005b520
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xb0]
call fcn.140066780
cmp word [rbx], 0
je 0x140092153
mov rdi, qword [rsp + 0x78]
cmp word [rdi], 0
je 0x140092153
mov r10, qword [rsp + 0x98]
cmp word [r10], 0
je 0x140092153
mov rsi, qword [rsp + 0x80]
cmp word [rsi], 0
je 0x140092153
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x74], r15d
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x88], r15d
mov dword [rsp + 0xc0], r15d
mov dword [rsp + 0xb8], r15d
mov dword [rsp + 0x8c], r15d
mov byte [rsp + 0x50], 0
movzx eax, word [rbx]
mov r11d, 0x2a
cmp r11w, ax
jne 0x140090ff9
cmp r11w, word [rbx + 2]
jne 0x140090ff9
movzx r13d, al
movzx ebp, al
mov byte [rsp + 0x70], al
add rbx, 4
jmp 0x140091009
cmp r11w, ax
jne 0x140091009
mov r13b, byte [rbx]
mov bpl, r13b
add rbx, 2
mov r9d, 0x2d
cmp r9w, word [rbx]
jne 0x14009101c
mov bpl, byte [rbx]
add rbx, 2
test bpl, bpl
jne 0x14009106d
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
mov eax, 0x80070057
jmp 0x14009219a
mov rdx, rbx
lea rcx, [0x1401518ec]
call fcn.14005c550
test al, al
je 0x14009108c
mov byte [rsp + 0x50], 1
xor ebp, ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, str.ANSI
call fcn.14005c550
test al, al
je 0x1400910aa
xor ebp, ebp
mov dword [rsp + 0x58], ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, [0x1401518e8]
call fcn.14005c550
test al, al
je 0x1400910cc
mov dword [rsp + 0x58], 0x3a8
xor ebp, ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, str.BIG5
call fcn.14005c550
test al, al
je 0x1400910ee
mov dword [rsp + 0x58], 0x3b6
xor ebp, ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, str.UTF8
call fcn.14005c550
test al, al
je 0x140091110
mov dword [rsp + 0x58], 0xfde9
xor ebp, ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, str.UTF7
call fcn.14005c550
test al, al
je 0x140091132
mov dword [rsp + 0x58], 0xfde8
xor ebp, ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, str.UNICODE
call fcn.14005c550
test al, al
je 0x140091154
mov dword [rsp + 0x60], 0x4b0
xor ebp, ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, [0x1401471a8]
call fcn.14005c550
test al, al
je 0x140091173
mov dword [rsp + 0x60], 0x4b0
xor ebp, ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, str.UNICODEB
call fcn.14005c550
test al, al
je 0x140091192
mov dword [rsp + 0x60], 0x4b1
xor ebp, ebp
jmp 0x1400911f0
mov rdx, rbx
lea rcx, str.UNIB
call fcn.14005c550
test al, al
je 0x1400911b1
mov dword [rsp + 0x60], 0x4b1
xor ebp, ebp
jmp 0x1400911f0
movzx ecx, word [rbx]
lea eax, [rcx - 0x30]
cmp ax, 9
ja 0x1400911d2
mov rcx, rbx
call fcn.1400641f0
mov qword [rsp + 0x58], rax
xor ebp, ebp
lea r9d, [rbp + 0x2d]
jmp 0x1400911f0
test cx, cx
jne 0x14009210a
mov dword [rsp + 0x60], 1
mov dword [rsp + 0xc0], 1
xor ebp, ebp
movzx eax, word [r10]
cmp r11w, ax
jne 0x140091225
cmp r11w, word [r10 + 2]
jne 0x140091225
movzx r14d, al
mov byte [rsp + 0x148], al
movzx r12d, al
mov byte [rsp + 0x158], al
add r10, 4
mov r14, qword [rsp + 0xd0]
jmp 0x140091245
cmp r11w, ax
jne 0x140091245
mov r14b, byte [r10]
mov byte [rsp + 0x148], r14b
mov r12b, r14b
add r10, 2
mov r14, qword [rsp + 0xd0]
cmp r9w, word [r10]
jne 0x140091252
mov r12b, byte [r10]
add r10, 2
test r12b, r12b
jne 0x1400912a3
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
mov eax, 0x80070057
jmp 0x14009219a
mov rdx, r10
lea rcx, str.ANSI
call fcn.14005c550
mov r12d, 3
lea r9, [0x14014cd10]
lea r11, [0x14014cd14]
test al, al
je 0x1400912d3
mov dword [rsp + 0x74], ebp
jmp 0x14009145a
mov rdx, r10
lea rcx, [0x1401518e8]
call fcn.14005c550
test al, al
je 0x1400912f3
mov dword [rsp + 0x74], 0x3a8
jmp 0x14009145a
mov rdx, r10
lea rcx, str.BIG5
call fcn.14005c550
test al, al
je 0x140091313
mov dword [rsp + 0x74], 0x3b6
jmp 0x14009145a
mov rdx, r10
lea rcx, str.UTF8
call fcn.14005c550
test al, al
je 0x140091342
mov dword [rsp + 0x74], 0xfde9
lea r15, [0x14014cd18]
mov dword [rsp + 0x8c], r12d
jmp 0x14009145a
mov rdx, r10
lea rcx, str.UTF7
call fcn.14005c550
test al, al
je 0x140091362
mov dword [rsp + 0x74], 0xfde8
jmp 0x14009145a
mov rdx, r10
lea rcx, str.UNICODE
call fcn.14005c550
test al, al
je 0x140091393
mov dword [rsp + 0x88], 0x4b0
mov r15, r9
mov dword [rsp + 0x8c], 2
jmp 0x14009145a
mov rdx, r10
lea rcx, [0x1401471a8]
call fcn.14005c550
test al, al
je 0x1400913c4
mov dword [rsp + 0x88], 0x4b0
mov r15, r9
mov dword [rsp + 0x8c], 2
jmp 0x14009145a
mov rdx, r10
lea rcx, str.UNICODEB
call fcn.14005c550
test al, al
je 0x1400913f2
mov dword [rsp + 0x88], 0x4b1
mov r15, r11
mov dword [rsp + 0x8c], 2
jmp 0x14009145a
mov rdx, r10
lea rcx, str.UNIB
call fcn.14005c550
test al, al
je 0x140091420
mov dword [rsp + 0x88], 0x4b1
mov r15, r11
mov dword [rsp + 0x8c], 2
jmp 0x14009145a
movzx ecx, word [r10]
lea eax, [rcx - 0x30]
cmp ax, 9
ja 0x14009143b
mov rcx, r10
call fcn.1400641f0
mov dword [rsp + 0x74], eax
jmp 0x14009145a
test cx, cx
jne 0x1400920be
mov dword [rsp + 0x88], 1
mov dword [rsp + 0xb8], 1
cmp byte [rsp + 0x40], 0
cmovne r15, rbp
mov qword [rsp + 0xd8], r15
mov rbx, rbp
mov qword [rsp + 0xe0], rbx
lea rcx, [rsp + 0x48]
call fcn.140063230
nop
xor al, al
mov byte [rsp + 0x40], al
test r13b, r13b
jne 0x1400917c4
xor r13d, r13d
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0x68], r14
lea rcx, [rsp + 0xd0]
call fcn.140063500
nop
lea r8d, [r13 + 0x2c]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x68]
call fcn.1400668d0
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [rsp + 0xa0]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xa8]
call fcn.14006d870
mov r11, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], r11
lea rcx, [rsp + 0xd0]
call fcn.14005b520
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0xb0]
call fcn.140066780
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call fcn.14002e004
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r13 + 7]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14009176d
test rax, rax
je 0x14009176d
xor edx, edx
lea r8d, [r13 + 2]
mov rcx, rax
call fcn.14005c450
xor edx, edx
lea r8d, [r13 + 1]
mov rcx, r12
call fcn.14005c450
mov r15, rax
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.14005c450
lea edx, [r15 + 0xa]
lea rcx, [rsp + 0x48]
call fcn.1400632e0
mov r11, qword [rsp + 0x48]
mov byte [r11 + 2], r13b
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 1], r13b
mov rcx, qword [rsp + 0x48]
mov byte [rcx], r13b
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0xc8], 0xffffffff
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xc8]
mov r8d, r15d
mov rdx, r14
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
movsxd rbp, dword [rsp + 0xc8]
test ebp, ebp
jns 0x140091658
cmp r12, 0xffffffffffffffff
je 0x140091601
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
mov eax, 1
jmp 0x14009219a
mov rax, qword [rsp + 0x48]
mov byte [rbp + rax + 2], 0
mov rax, qword [rsp + 0x48]
mov byte [rbp + rax + 1], 0
mov rax, qword [rsp + 0x48]
mov byte [rbp + rax], 0
movzx r10d, byte [rsp + 0x50]
test r10b, r10b
jne 0x140091691
mov r9d, dword [rsp + 0x60]
cmp r9d, 0x4b0
jne 0x1400916c2
jmp 0x140091696
mov r9d, dword [rsp + 0x60]
mov r8d, 2
lea rdx, [0x14014cd10]
mov rcx, r14
call fcn.14005b5d0
test eax, eax
jne 0x1400916bd
mov dword [rsp + 0x60], 0x4b0
lea r13d, [rax + 2]
jmp 0x140091728
test r10b, r10b
jne 0x1400916cb
cmp r9d, 0x4b1
jne 0x1400916f7
mov r8d, 2
lea rdx, [0x14014cd14]
mov rcx, r14
call fcn.14005b5d0
test eax, eax
jne 0x1400916f2
mov dword [rsp + 0x60], 0x4b1
lea r13d, [rax + 2]
jmp 0x140091728
test r10b, r10b
jne 0x140091701
cmp dword [rsp + 0x58], 0xfde9
jne 0x14009173e
mov r9d, 3
mov r8d, r9d
lea rdx, [0x14014cd18]
mov rcx, r14
call fcn.14005b5d0
test eax, eax
jne 0x14009173e
mov dword [rsp + 0x58], 0xfde9
mov r13d, r9d
movsxd rax, r13d
sub r15, rax
lea rdx, [rax + r14]
lea r8, [r15 + 3]
mov rcx, r14
call fcn.14010cd30
sub ebp, r13d
mov r14d, 0
cmovs ebp, r14d
cmp r12, 0xffffffffffffffff
je 0x1400918ae
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov r15, qword [rsp + 0xd8]
jmp 0x1400918b8
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
mov eax, 1
jmp 0x14009219a
cmp byte [rsp + 0x70], al
je 0x140091865
xor r8d, r8d
lea rdx, [rsp + 0x78]
mov r12, qword [rsp + 0x140]
mov rcx, r12
call fcn.14001c9cc
or r9d, 0xffffffff
xor r8d, r8d
mov rdi, qword [rsp + 0x78]
mov rdx, rdi
mov rcx, r12
call fcn.14002b14c
mov r12, rax
test rax, rax
je 0x14009183f
mov ebp, dword [rax + 0x18]
and ebp, 0x3fffffff
lea edx, [rbp + 8]
lea rcx, [rsp + 0x48]
call fcn.1400632e0
movsxd r8, ebp
mov rcx, qword [rsp + 0x48]
xor eax, eax
mov qword [r8 + rcx], rax
mov rdx, qword [r12 + 8]
mov rcx, qword [rsp + 0x48]
call fcn.14010cd30
mov byte [rsp + 0x40], 1
jmp 0x14009184e
mov edx, 8
lea rcx, [rsp + 0x48]
call fcn.1400632e0
movsxd rax, ebp
add rax, qword [rsp + 0x48]
xor ecx, ecx
mov qword [rax], rcx
movzx eax, byte [rsp + 0x40]
xor r14d, r14d
jmp 0x1400918b8
cmp dword [rsp + 0xc0], 0
je 0x140091898
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.140071480
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebp, eax
add ebp, ebp
lea edx, [rbp + 8]
lea rcx, [rsp + 0x48]
call fcn.1400632e0
jmp 0x1400918a7
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.140077b20
mov ebp, eax
mov al, 2
xor r14d, r14d
jmp 0x1400918b8
xor al, al
mov r15, qword [rsp + 0xd8]
test ebp, ebp
jns 0x140091913
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
mov eax, 1
jmp 0x14009219a
cmp byte [rsp + 0x50], 0
je 0x1400919ca
test al, al
je 0x1400919ca
mov r13d, r14d
mov r8d, 2
lea rdx, [0x14014cd10]
mov r12, qword [rsp + 0x48]
mov rcx, r12
call fcn.14005b5d0
test eax, eax
jne 0x140091955
mov dword [rsp + 0x60], 0x4b0
lea r13d, [rax + 2]
jmp 0x1400919a3
mov r8d, 2
lea rdx, [0x14014cd14]
mov rcx, r12
call fcn.14005b5d0
test eax, eax
jne 0x14009197c
mov dword [rsp + 0x60], 0x4b1
lea r13d, [rax + 2]
jmp 0x1400919a3
mov r9d, 3
mov r8d, r9d
lea rdx, [0x14014cd18]
mov rcx, r12
call fcn.14005b5d0
test eax, eax
jne 0x1400919c1
mov dword [rsp + 0x58], 0xfde9
mov r13d, r9d
mov eax, ebp
sub eax, r13d
add eax, 4
movsxd r8, eax
movsxd rdx, r13d
add rdx, r12
mov rcx, r12
call fcn.14010cd30
mov r12, qword [rsp + 0x48]
sub ebp, r13d
cmovs ebp, r14d
jmp 0x1400919cf
mov r12, qword [rsp + 0x48]
mov r13, r12
lea rcx, [rsp + 0x68]
call fcn.140063500
nop
lea rcx, [rsp + 0x74]
call fcn.140062e90
mov rcx, qword [rsp + 0x58]
cmp dword [rax], ecx
jne 0x140091b38
lea rcx, [rsp + 0x88]
call fcn.140062e90
mov r14d, dword [rsp + 0x60]
cmp dword [rax], r14d
jne 0x140091b3d
cmp byte [rsp + 0x158], 0
je 0x140091a48
mov byte [rsp + 0x28], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8, qword [rsp + 0x48]
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.1400779e0
jmp 0x140091ad9
cmp byte [rsp + 0x148], 0
jne 0x140091a73
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x140]
mov r8d, ebp
mov rdx, qword [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140091ad9
cmp dword [rsp + 0xb8], 0
jne 0x140091aa6
mov r8d, ebp
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x68]
call fcn.140067e90
mov r8, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.140061290
jmp 0x140091ad9
cmp dword [rsp + 0xc0], 0
je 0x140091ac5
mov r8, rdi
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.140061290
jmp 0x140091ad9
mov r8, r12
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.140061290
nop
lea rcx, [rsp + 0x68]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
xor eax, eax
jmp 0x14009219a
mov r14d, dword [rsp + 0x60]
cmp r14d, 0x4b1
jne 0x140091b5b
mov r14d, 0x4b0
mov edx, ebp
mov rcx, qword [rsp + 0x48]
call fcn.14005f9f0
and ebp, 0xfffffffe
cmp byte [rsp + 0x148], 0
jne 0x140091c15
mov rcx, rsi
call fcn.14002e004
xor edi, edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [rdi + 7]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
cmove rbx, rdi
mov qword [rsp + 0xe0], rbx
test rbx, rbx
jne 0x140091c17
lea rcx, [rsp + 0x68]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
lea eax, [rdi + 1]
jmp 0x14009219a
xor edi, edi
mov qword [rsp + 0xc0], rdi
mov eax, dword [rsp + 0x74]
cmp eax, 0x3a8
jne 0x140091c39
mov rcx, qword [rsp + 0x58]
cmp ecx, 0x3b6
je 0x140091c55
jmp 0x140091c3e
mov rcx, qword [rsp + 0x58]
cmp ecx, 0x3a8
jne 0x140091d0e
cmp eax, 0x3b6
jne 0x140091d0e
movzx eax, byte [rsp + 0x64]
mov edi, eax
test al, al
mov eax, 3
cmovne edi, eax
lea rcx, [rsp + 0xc8]
call fcn.140063230
xor eax, eax
mov r8d, eax
cmp dword [rsp + 0x74], 0x3b6
sete r8b
lea rdx, [rsp + 0xc8]
mov rcx, qword [rsp + 0x48]
call fcn.140067f60
mov r11, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0xc8], r11
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebp, eax
mov r12, qword [rsp + 0x48]
cmp dil, 3
jne 0x140091d01
cmp byte [rsp + 0x148], 0
jne 0x140091d01
test eax, eax
jle 0x140091cef
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x140]
mov r8d, ebp
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rcx, [rsp + 0xc8]
call fcn.14005b520
jmp 0x14009202d
lea rcx, [rsp + 0xc8]
call fcn.14005b520
movsxd rdi, ebp
shr rdi, 1
test r14d, r14d
jne 0x140091d67
lea edi, [rbp + 0xa]
lea edx, [rdi + 0xa]
lea rcx, [rsp + 0x68]
call fcn.1400635c0
mov dword [rsp + 0x28], edi
mov r12, qword [rsp + 0x68]
mov qword [rsp + 0x20], r12
mov r9d, ebp
mov r8, qword [rsp + 0x48]
xor edx, edx
mov ecx, dword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
mov r14d, 0
cmovs eax, r14d
movsxd rdi, eax
mov r13, r12
lea ebp, [rdi + rdi]
mov word [r12 + rdi*2], r14w
jmp 0x140091d6a
xor r14d, r14d
mov eax, dword [rsp + 0x88]
cmp eax, 0x4b1
jne 0x140091d89
mov edx, ebp
mov rcx, r12
call fcn.14005f9f0
mov eax, dword [rsp + 0x88]
test eax, eax
jle 0x140091ef9
cmp byte [rsp + 0x158], 0
je 0x140091e4a
mov byte [rsp + 0x28], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8, r12
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.1400779e0
nop
lea rcx, [rsp + 0xc0]
call fcn.14005b520
nop
lea rcx, [rsp + 0x68]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
test rbx, rbx
je 0x140091e01
cmp rbx, 0xffffffffffffffff
je 0x140091e01
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
xor eax, eax
jmp 0x14009219a
cmp byte [rsp + 0x148], 0
jne 0x140091ea3
test ebp, ebp
jle 0x14009202d
test r15, r15
je 0x140091e82
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x140]
mov r8d, dword [rsp + 0x8c]
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x140]
mov r8d, ebp
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14009202d
cmp dword [rsp + 0xb8], 0
jne 0x140091f03
lea rcx, [rsp + 0x148]
call fcn.140063500
nop
mov r8d, edi
mov rdx, r12
lea rcx, [rsp + 0x148]
call fcn.140067f20
mov r8, qword [rsp + 0x148]
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.140061290
nop
lea rcx, [rsp + 0x148]
call fcn.14005b520
jmp 0x14009202d
cmp dword [rsp + 0xb8], 0
je 0x140091f1b
mov r8, r13
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.140061290
jmp 0x14009202d
movsxd rbp, ebp
shr rbp, 1
lea eax, [rbp + rbp*2]
lea edi, [rax + rax + 0xa]
lea edx, [rdi + 1]
lea rcx, [rsp + 0xc0]
call fcn.1400632e0
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], edi
mov rdi, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rdi
mov r9d, ebp
mov r8, r12
xor edx, edx
mov ecx, dword [rsp + 0x74]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebp, eax
test eax, eax
cmovs ebp, r14d
movsxd rax, ebp
mov byte [rax + rdi], 0
cmp byte [rsp + 0x148], 0
jne 0x140091fcb
test ebp, ebp
jle 0x14009202d
test r15, r15
je 0x140091fad
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x140]
mov r8d, dword [rsp + 0x8c]
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x140]
mov r8d, ebp
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14009202d
cmp byte [rsp + 0x158], 0
je 0x140092008
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x28], 0
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x20], rcx
mov r9d, eax
mov r8, rdi
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.1400779e0
jmp 0x14009202d
mov r8d, ebp
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.140067e90
mov r8, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.140061290
test rbx, rbx
je 0x14009203c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
nop
lea rcx, [rsp + 0xc0]
call fcn.14005b520
nop
lea rcx, [rsp + 0x68]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
test rbx, rbx
je 0x140092075
cmp rbx, 0xffffffffffffffff
je 0x140092075
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
xor eax, eax
jmp 0x14009219a
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
mov eax, 0x80070057
jmp 0x14009219a
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
mov eax, 0x80070057
jmp 0x14009219a
lea rcx, [rsp + 0x80]
call fcn.14005b520
nop
lea rcx, [rsp + 0x98]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x90]
call fcn.14005b520
nop
lea rcx, [rsp + 0xa0]
call fcn.14005b520
mov eax, 1
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret