Function at 0x14008f518
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
xor esi, esi
mov r11, rdx
mov edi, 0x4b0
lea edx, [rsi + 9]
mov bl, sil
mov ebp, 0xffff0000
mov r14b, sil
mov byte [rsp + 0x40], sil
mov dword [rsp + 0x98], esi
mov byte [rsp + 0x138], bl
mov qword [rsp + 0x58], rbp
lea ecx, [rsi + 0xd]
lea r12d, [rsi + 1]
lea r15d, [rdi + 1]
lea r13d, [rsi + 4]
lea r8d, [rsi + 0x20]
cmp dx, word [r11]
ja 0x14008f588
cmp word [r11], cx
jbe 0x14008f58e
cmp r8w, word [r11]
jne 0x14008f5a2
mov ebp, esi
mov dword [rsp + 0x98], r12d
mov qword [rsp + 0x58], rbp
jmp 0x14008f71e
lea rcx, str._UNI
mov r8d, r13d
mov rdx, r11
call fcn.140053618
cmp al, sil
je 0x14008f5c5
mov ebp, edi
mov qword [rsp + 0x58], rbp
jmp 0x14008f6f1
lea rcx, str._UNICODE
mov r8d, 8
mov rdx, r11
call fcn.140053618
cmp al, sil
jne 0x14008f5b9
mov edi, 5
lea rcx, str._UNIB
mov rdx, r11
mov r8d, edi
call fcn.140053618
cmp al, sil
je 0x14008f600
mov ebp, r15d
jmp 0x14008f5bb
lea rcx, str._UNICODEB
mov r8d, 9
mov rdx, r11
call fcn.140053618
cmp al, sil
jne 0x14008f5fb
lea rcx, str._ANSI
mov r8d, edi
mov rdx, r11
call fcn.140053618
cmp al, sil
je 0x14008f635
mov ebp, esi
jmp 0x14008f5bb
lea rcx, str._GBK
mov r8d, r13d
mov rdx, r11
call fcn.140053618
cmp al, sil
je 0x14008f656
mov ebp, 0x3a8
jmp 0x14008f5bb
lea rcx, str._BIG5
mov r8d, edi
mov rdx, r11
call fcn.140053618
cmp al, sil
je 0x14008f677
mov ebp, 0x3b6
jmp 0x14008f5bb
lea rcx, str._UTF8
mov r8d, edi
mov rdx, r11
call fcn.140053618
cmp al, sil
je 0x14008f698
mov ebp, 0xfde9
jmp 0x14008f5bb
lea rcx, str._UTF7
mov r8d, edi
mov rdx, r11
call fcn.140053618
cmp al, sil
je 0x14008f6b9
mov ebp, 0xfde8
jmp 0x14008f5bb
mov eax, 0x2d
cmp ax, word [r11]
jne 0x14008f6f1
lea rcx, [r11 + 2]
mov edx, 9
movzx eax, word [rcx]
sub ax, 0x30
cmp ax, dx
ja 0x14008f6f6
mov r11, rcx
mov qword [rsp + 0x128], rcx
call fcn.14005b3b8
mov rbp, rax
mov qword [rsp + 0x58], rax
mov edx, 9
mov r8d, 0x20
lea ecx, [r8 - 0x13]
jmp 0x14008f71e
cmp dx, ax
ja 0x14008f70c
cmp ax, cx
jbe 0x14008f727
cmp r8w, ax
je 0x14008f727
add r11, 2
mov qword [rsp + 0x128], r11
movzx eax, word [r11]
cmp ax, si
jne 0x14008f702
lea rcx, [rsp + 0x128]
call fcn.140052130
lea rdx, [rsp + 0x128]
lea rcx, [0x140104df4]
mov r8d, r13d
call fcn.14005c928
lea rdx, [0x1400f9548]
lea rcx, [rsp + 0x88]
neg al
sbb r15b, r15b
and r15b, 2
call fcn.140064d14
lea rdx, str.READLINE
lea rcx, [rsp + 0x60]
call fcn.140064d14
mov rdi, qword [rsp + 0x120]
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x128]
mov rcx, rdi
mov r9d, 0x2c
mov r13, r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x90], rsi
mov word [rsp + 0x20], si
call fcn.14004ba2c
mov r9, qword [rsp + 0x88]
lea rcx, [0x140104ddc]
mov rdx, r9
mov qword [rsp + 0x128], rax
call fcn.1400536b0
cmp al, sil
je 0x14008f8c1
mov qword [rsp + 0x90], r12
mov bl, r12b
mov byte [rsp + 0x138], bl
lea rcx, [rsp + 0xb8]
mov qword [rsp + 0xc0], rsi
call fcn.14005a150
mov rdx, qword [rsp + 0x128]
lea r8, [rsp + 0xb8]
xor r9d, r9d
mov rcx, rdi
mov byte [rsp + 0x20], r12b
call fcn.14006d030
mov r11, qword [rsp + 0xb8]
mov eax, 0x2c
mov qword [rsp + 0x128], r11
cmp word [r11], ax
jne 0x14008f9dd
lea rcx, [rsp + 0x48]
call fcn.14005a150
add qword [rsp + 0x128], 2
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x128]
mov r8d, 0x2c
call fcn.14005dc90
mov r11, qword [rsp + 0x48]
lea rcx, [0x140104dd8]
mov rdx, r11
mov qword [rsp + 0x70], r11
call fcn.1400536b0
cmp al, sil
je 0x14008f902
lea rdi, [0x140104dd4]
mov r14b, 2
mov qword [rsp + 0xc0], rdi
mov rdi, qword [rsp + 0x120]
mov byte [rsp + 0x40], r14b
jmp 0x14008f99f
cmp word [r9], si
je 0x14008f7f6
lea rcx, [0x1400fa940]
mov rdx, r9
call fcn.1400536b0
cmp al, sil
jne 0x14008f7f6
lea rcx, [0x1400fa0bc]
mov rdx, r9
call fcn.1400536b0
cmp al, sil
je 0x14008f800
mov bl, 2
jmp 0x14008f7f9
lea rcx, [0x140104dd0]
mov rdx, r11
call fcn.1400536b0
cmp al, sil
je 0x14008f920
mov r14b, 3
mov byte [rsp + 0x40], r14b
jmp 0x14008f99f
lea rcx, [0x1400ff7c4]
mov rdx, r11
call fcn.1400536b0
cmp al, sil
je 0x14008f94d
lea rax, [0x140104dcc]
mov r14b, r12b
mov byte [rsp + 0x40], r12b
mov qword [rsp + 0xc0], rax
jmp 0x14008f99f
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.140068bc8
mov rax, qword [rsp + 0x70]
mov r11d, 0x2b
cmp r11w, word [rax]
jne 0x14008f995
add rax, 2
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], rax
call fcn.140068bc8
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov r13, qword [rsp + 0x78]
mov qword [rsp + 0x68], r13
lea rcx, [rsp + 0x48]
call fcn.140052160
mov r11, qword [rsp + 0x128]
mov eax, 0x2c
cmp word [r11], ax
jne 0x14008f9dd
add r11, 2
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x128]
mov r8d, eax
mov qword [rsp + 0x128], r11
call fcn.14005dc90
lea rdx, [rsp + 0x60]
xor r8d, r8d
mov rcx, rdi
call fcn.14000397c
lea rcx, [rsp + 0x48]
mov edx, 8
call fcn.140059ed8
cmp ebp, esi
mov rdi, qword [rsp + 0x48]
mov word [rdi], si
jl 0x140090702
lea rcx, [rsp + 0xa0]
call fcn.140059e74
mov rax, qword [rsp + 0x88]
mov ecx, 0x75
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], rsi
cmp cx, word [rax]
jne 0x14008fc89
mov ecx, 0x64
cmp cx, word [rax + 2]
jne 0x14008fc89
lea edx, [rcx - 0x2a]
cmp dx, word [rax + 4]
jne 0x14008fc89
add rax, 6
lea r9d, [rcx - 0x42]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x128]
mov word [rax], si
mov r10, qword [rsp + 0x138]
cmp r9w, word [r10]
jne 0x14008fa90
add r10, 2
mov qword [rsp + 0x138], r10
lea rcx, [rsp + 0x138]
call fcn.1400cb7a8
mov rcx, qword [rsp + 0x138]
cmp rcx, r10
je 0x14008fabd
cmp word [rcx - 2], r9w
jne 0x14008fabd
mov word [rcx - 2], si
mov rcx, qword [rsp + 0x138]
cmp dx, word [rcx]
jne 0x14008fad9
mov word [rcx], si
mov rcx, qword [rsp + 0x138]
add rcx, 2
mov qword [rsp + 0x138], rcx
mov r8, rcx
cmp r9w, word [rcx]
jne 0x14008fb08
lea r8, [rcx + 2]
add rcx, 2
mov qword [rsp + 0x138], rcx
cmp r9w, word [rcx]
jne 0x14008fb03
mov word [rcx], si
mov rcx, qword [rsp + 0x138]
cmp word [rcx], si
jne 0x14008fae6
lea rdx, [rsp + 0xa0]
mov r9d, 0x10000
mov rcx, r10
mov qword [rsp + 0x20], rsi
call fcn.14004c6bc
mov rbx, qword [rsp + 0xa8]
cmp ebx, esi
mov r11, qword [rsp + 0xa0]
jle 0x14008fb4d
mov rax, qword [rsp + 0xb0]
lea r8, [r11 + rax]
mov qword [rsp + 0x128], r8
jmp 0x14008fb55
mov r8, qword [rsp + 0x128]
movsx edx, byte [r8]
mov rcx, rsi
cmp edx, 0xff
jne 0x14008fb77
movsx eax, byte [r8 + 1]
cmp eax, 0xfe
jne 0x14008fb77
mov ebp, 0x4b0
jmp 0x14008fb90
cmp edx, 0xfe
jne 0x14008fb97
movsx eax, byte [r8 + 1]
cmp eax, 0xff
jne 0x14008fb97
mov ebp, 0x4b1
mov ecx, 2
jmp 0x14008fbc1
cmp edx, 0xef
jne 0x14008fbc1
movsx eax, byte [r8 + 1]
cmp eax, 0xbb
jne 0x14008fbc1
movsx eax, byte [r8 + 2]
cmp eax, 0xbf
jne 0x14008fbc1
mov ebp, 0xfde9
mov ecx, 3
sub ebx, ecx
lea rdi, [rcx + r8]
cmp ebp, 0x4b1
jne 0x14008fbfa
movsxd rdx, ebx
and rdx, 0xfffffffffffffffe
add rdx, rdi
cmp rdi, rdx
ja 0x14008fd0d
mov cl, byte [rdi]
mov al, byte [rdi + 1]
mov byte [rdi], al
mov byte [rdi + 1], cl
add rdi, 2
cmp rdi, rdx
jbe 0x14008fbe2
jmp 0x14008fc7c
cmp ebp, 0x4b0
je 0x14008fd0d
cmp dword [rsp + 0x98], esi
je 0x14008fc24
movsxd rdx, ebx
mov rcx, rdi
call fcn.14006c710
mov r11, qword [rsp + 0xa0]
mov ebp, eax
movsxd rbx, ebx
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0xc0], r11
lea rdx, [rbx + rbx + 0x20]
mov qword [rsp + 0xa0], rsi
call fcn.140059f54
lea rcx, [rsp + 0xa0]
movsxd r9, ebp
mov r8, rbx
mov rdx, rdi
call fcn.14005a30c
mov r11, qword [rsp + 0xa0]
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x128], r11
call fcn.140052160
mov r8, qword [rsp + 0x128]
jmp 0x14008fd0d
mov rax, qword [rsp + 0x60]
cmp word [rax], si
jne 0x14008fcd5
lea rcx, [rsp + 0xa0]
call fcn.140052160
lea rcx, [rsp + 0x48]
call fcn.140052160
lea rcx, [rsp + 0xb8]
call fcn.140052160
lea rcx, [rsp + 0x60]
call fcn.140052160
lea rcx, [rsp + 0x88]
call fcn.140052160
xor eax, eax
jmp 0x14009074b
mov r8, qword [rsp + 0x128]
cmp bl, r12b
jne 0x14008fcf8
mov eax, 0x2c
cmp word [r8], ax
je 0x14008fcf8
mov r12d, 0x80070057
jmp 0x1400906f5
add r8, 2
mov qword [rsp + 0x128], r8
test r12b, bl
je 0x1400900b1
mov qword [rsp + 0x68], rsi
cmp qword [rsp + 0x90], rsi
je 0x14008fdcb
lea rcx, [rsp + 0x128]
call fcn.140052130
mov r8, qword [rsp + 0x128]
mov edi, 0xd
movzx eax, word [r8]
mov rdx, r8
lea ebp, [rdi + 0x13]
cmp ax, si
je 0x14008fd84
lea ecx, [rdi - 4]
cmp cx, ax
ja 0x14008fd56
cmp ax, di
jbe 0x14008fd72
cmp bp, ax
je 0x14008fd72
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
je 0x14008fd84
jmp 0x14008fd4c
cmp word [r8], si
je 0x14008fd84
mov word [r8], si
mov r8, qword [rsp + 0x128]
mov r15, qword [rsp + 0x120]
cmp word [rdx], si
je 0x14008fddb
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r15
call fcn.14001c5dc
cmp rax, rsi
je 0x14008fdc1
mov rdx, qword [rax]
lea rcx, [rsp + 0x68]
call fcn.140064e2c
mov r8, qword [rsp + 0x68]
mov qword [rsp + 0x128], r8
jmp 0x14008fddb
mov r8, qword [rsp + 0x128]
jmp 0x14008fddb
mov r15, qword [rsp + 0x120]
mov edi, 0xd
lea ebp, [rdi + 0x13]
mov r9, r8
cmp r14b, 3
jne 0x14008fdf6
mov rdx, qword [rsp + 0x60]
mov rcx, r15
call fcn.1400596c4
jmp 0x1400900a2
cmp r14b, sil
je 0x14008fee3
lea rax, [0x1400fd530]
lea rdi, [0x1400fcdf0]
lea rcx, [rsp + 0x138]
cmp r14b, r12b
cmove rdi, rax
call fcn.14005a150
mov r11, qword [rsp + 0x128]
movzx eax, word [r11]
mov rbp, r11
cmp ax, si
je 0x14008feaf
mov ebx, 0xa
lea ecx, [rbx + 3]
cmp ax, cx
jne 0x14008fe58
cmp word [r11 + 2], bx
jne 0x14008fe5d
mov word [r11], si
add qword [rsp + 0x128], 2
jmp 0x14008fe61
cmp ax, bx
jne 0x14008fe9a
mov word [r11], si
cmp r14b, sil
jne 0x14008fe76
lea rcx, [rsp + 0x138]
mov rdx, rdi
call fcn.14005a28c
lea rcx, [rsp + 0x138]
mov rdx, rbp
mov r14b, sil
call fcn.14005a28c
mov r11, qword [rsp + 0x128]
mov ecx, 0xd
lea rbp, [r11 + 2]
add r11, 2
mov qword [rsp + 0x128], r11
mov ax, word [r11]
cmp ax, si
jne 0x14008fe3d
cmp word [rbp], si
je 0x140090080
cmp r14b, sil
jne 0x14008fece
lea rcx, [rsp + 0x138]
mov rdx, rdi
call fcn.14005a28c
lea rcx, [rsp + 0x138]
mov rdx, rbp
call fcn.14005a28c
jmp 0x140090080
cmp r13, rsi
jge 0x14008ff52
movzx eax, word [r8]
mov rdi, rsi
cmp ax, si
je 0x14008ff25
mov ebx, 0xa
cmp ax, bx
jne 0x14008ff01
add rdi, r12
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
jne 0x14008fef9
cmp r8, r9
jbe 0x14008ff25
cmp word [r8 - 2], bx
je 0x14008ff25
add rdi, r12
lea rcx, [rsp + 0x138]
mov rdx, rbp
call fcn.14005a1c4
mov rcx, qword [rsp + 0x138]
lea rdx, [0x1400f9d2c]
mov r8, rdi
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x140090080
mov ebx, 0xa
jne 0x14008ffeb
movzx eax, word [r8]
mov rcx, r8
mov rdx, r8
cmp ax, si
je 0x14008ffb9
cmp ax, bx
jne 0x14008ff77
mov rdx, rcx
mov rcx, r8
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
jne 0x14008ff6c
cmp r8, r9
jbe 0x14008ffa9
cmp word [r8 - 2], bx
je 0x14008ffa9
cmp word [rcx], bx
jne 0x14008ffa1
add rcx, 2
mov r8, rcx
jmp 0x14008fde4
cmp rcx, r9
jbe 0x14008ffb9
lea rax, [rcx - 2]
cmp word [rax], di
cmove rcx, rax
cmp word [rdx], bx
jne 0x14008ffc2
add rdx, 2
sub rcx, rdx
sar rcx, 1
mov r8, rcx
jmp 0x140090073
cmp word [r8], si
je 0x14008fff0
cmp word [r8], bx
jne 0x14008ffdf
sub r13, r12
add r8, 2
mov qword [rsp + 0x128], r8
cmp r13, r12
jg 0x14008ffd0
movzx eax, word [r8]
mov r9, qword [rsp + 0x50]
mov rdx, r8
mov rcx, r9
cmp ax, si
je 0x14009006d
mov r10d, 0xd
cmp rcx, rsi
je 0x140090031
sub r9, r12
js 0x14009006d
jmp 0x140090031
cmp ax, r10w
je 0x140090036
cmp ax, bx
je 0x140090036
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
jne 0x140090016
cmp rcx, rsi
je 0x140090040
cmp r9, rsi
je 0x14009006d
cmp r10w, word [r8]
jne 0x140090052
add r8, 2
mov qword [rsp + 0x128], r8
cmp bx, word [r8]
jne 0x140090064
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
jne 0x14009000a
sub r8, rdx
sar r8, 1
lea rcx, [rsp + 0x138]
call fcn.140064d38
mov r8, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x60]
mov rcx, r15
call fcn.1400596c4
lea rcx, [rsp + 0x138]
call fcn.140052160
lea rcx, [rsp + 0x68]
call fcn.140052160
jmp 0x14008fc93
lea rcx, [rsp + 0x70]
mov edx, 8
call fcn.140059ed8
xor eax, eax
mov word [rdi], si
mov qword [rsp + 0xd8], rax
mov rax, qword [0x1401152d0]
lea r14, [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
mov al, byte [rsp + 0x138]
lea rcx, [rsp + 0x78]
cmp al, 2
mov rbx, rsi
cmovne r14, rcx
mov qword [rsp + 0x78], rbx
cmp al, 2
je 0x1400902e6
mov rcx, qword [rsp + 0x88]
call fcn.140006528
cmp eax, esi
je 0x140090139
mov rcx, qword [rsp + 0x88]
mov edx, 0x80000000
mov r8d, 7
call fcn.14001b82c
mov rbx, rax
mov qword [rsp + 0x78], rax
jmp 0x140090176
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x2000000
lea rcx, [rsp + 0x78]
mov r9d, 7
mov r8d, 0x80000000
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rsi
call fcn.1400037e4
mov rbx, qword [rsp + 0x78]
cmp qword [r14], rsi
jne 0x140090189
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
jmp 0x1400906d7
mov rcx, qword [r14]
xor eax, eax
lea r9, [rsp + 0x90]
lea rdx, [rsp + 0x80]
lea r8d, [rax + 3]
mov byte [rsp + 0x80], sil
mov byte [rsp + 0x81], sil
mov byte [rsp + 0x82], sil
mov word [rsp + 0x83], ax
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r11b, byte [rsp + 0x80]
cmp r11b, 0xff
jne 0x1400901f4
cmp byte [rsp + 0x81], 0xfe
jne 0x140090242
mov ebp, 0x4b0
jmp 0x140090209
cmp r11b, 0xfe
jne 0x14009021c
cmp byte [rsp + 0x81], 0xff
jne 0x140090242
mov ebp, 0x4b1
mov edx, 2
mov qword [rsp + 0x58], rbp
mov dword [rsp + 0x98], esi
jmp 0x140090245
cmp r11b, 0xef
jne 0x140090242
cmp byte [rsp + 0x81], 0xbb
jne 0x140090242
cmp byte [rsp + 0x82], 0xbf
jne 0x140090242
mov ebp, 0xfde9
mov edx, 3
jmp 0x14009020e
mov rdx, rsi
mov rcx, qword [r14]
xor r8d, r8d
call fcn.140053560
cmp rax, rsi
mov qword [rsp + 0xc8], rax
jl 0x14009017b
cmp dword [rsp + 0x98], esi
je 0x1400902e6
mov rcx, qword [r14]
call fcn.1400c8ca0
cmp rax, 0x1000000
mov qword [rsp + 0x98], rax
jg 0x1400902e6
lea rdx, [rax + 0x10]
lea rcx, [rsp + 0xa0]
call fcn.140059f54
mov rbp, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [r14]
lea r9, [rsp + 0x90]
mov r8d, ebp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.140053560
mov rcx, qword [rsp + 0xa0]
mov rdx, rbp
call fcn.14006c710
mov ebp, eax
mov qword [rsp + 0x58], rbp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov al, byte [rsp + 0x40]
cmp al, 3
jne 0x140090406
mov r14, qword [r14]
mov bpl, byte [rsp + 0x138]
mov qword [rsp + 0x50], rsi
mov r13d, esi
mov r15, rsi
mov ebx, 0x186a0
lea edx, [r13 + 0x40001]
lea rcx, [rsp + 0x50]
call fcn.140059f54
mov rdi, qword [rsp + 0x50]
lea r9, [rsp + 0x138]
lea rdx, [rdi + r15]
mov r15d, 0x40000
mov rcx, r14
mov r8d, r15d
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword [rsp + 0x138]
cmp rcx, r15
cmovg rcx, r15
mov qword [rsp + 0x138], rcx
cmp rcx, rsi
jne 0x140090394
cmp eax, esi
jne 0x1400903a3
cmp bpl, 2
jne 0x14009038f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400903a3
mov rcx, qword [rsp + 0x138]
sub rbx, r12
js 0x1400903a3
add r13d, ecx
movsxd r15, r13d
mov byte [rdi + r15], sil
jmp 0x140090315
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.140062054
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x120]
mov r8, rax
call fcn.1400596c4
lea rcx, [rsp + 0x50]
call fcn.140052160
mov rbx, qword [rsp + 0x78]
cmp rbx, rsi
je 0x1400903ea
cmp rbx, 0xffffffffffffffff
je 0x1400903ea
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x70]
call fcn.140052160
lea rcx, [rsp + 0xa0]
call fcn.140052160
jmp 0x14009071a
cmp al, sil
je 0x1400904d5
mov rax, qword [rsp + 0xc0]
lea rdx, [0x1400f9f10]
lea rcx, [rsp + 0x90]
cmp rax, rsi
cmovne rdx, rax
or r8, 0xffffffffffffffff
call fcn.140064d54
or r15b, r12b
lea rcx, [rsp + 0x50]
call fcn.14005a150
cmp byte [rsp + 0x40], sil
jne 0x14009045c
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x48]
call fcn.14005a28c
lea rdx, [rsp + 0x50]
mov r9b, r15b
mov r8d, ebp
mov rcx, r14
mov byte [rsp + 0x40], sil
call fcn.140061c24
cmp byte [rsp + 0x138], 2
mov edi, eax
jne 0x14009048b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400904b4
lea rcx, [rsp + 0x50]
mov edx, ebp
call fcn.140062054
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.14005a28c
lea rcx, [rsp + 0x50]
call fcn.140052160
cmp edi, esi
je 0x1400904be
jmp 0x140090439
lea rcx, [rsp + 0x50]
call fcn.140052160
lea rcx, [rsp + 0x90]
mov ebp, 0x4b0
call fcn.140052160
jmp 0x1400906c5
cmp r13, rsi
jge 0x140090542
mov bl, byte [rsp + 0x138]
mov rdi, rsi
lea rdx, [rsp + 0x48]
mov r9b, r15b
mov r8d, ebp
mov rcx, r14
call fcn.140061c24
mov r13d, eax
cmp bl, 2
jne 0x14009050a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x140090514
cmp r13d, esi
je 0x140090514
add rdi, r12
jmp 0x1400904e4
lea rcx, [rsp + 0x48]
mov edx, 0x20
mov ebp, 0x4b0
call fcn.140059f54
mov rcx, qword [rsp + 0x48]
lea rdx, [0x1400f9d2c]
mov r8, rdi
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x1400906c0
jne 0x140090592
or r15b, r12b
mov rax, rdi
mov rdi, qword [rsp + 0x70]
lea rdx, [rsp + 0x70]
mov r9b, r15b
mov r8d, ebp
mov rcx, r14
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x70], rax
call fcn.140061c24
cmp byte [rsp + 0x138], 2
mov r12d, eax
jne 0x140090588
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400906c5
cmp r12d, esi
jne 0x140090547
jmp 0x1400906c5
cmp r12, qword [rsp + 0x68]
mov r13, r12
jge 0x1400905e1
mov rbx, qword [rsp + 0x68]
lea rdx, [rsp + 0x48]
mov r9b, r15b
mov r8d, ebp
mov rcx, r14
call fcn.140061c24
cmp byte [rsp + 0x138], 2
mov edi, eax
jne 0x1400905cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400905d7
cmp edi, esi
je 0x1400905d7
add r13, r12
cmp r13, rbx
jl 0x1400905a1
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
mov byte [rdi], sil
cmp qword [rsp + 0x50], r12
jne 0x140090606
or r15b, r12b
lea rdx, [rsp + 0x48]
mov r8d, ebp
mov r9b, r15b
mov rcx, r14
call fcn.140061c24
jmp 0x1400906c5
lea rcx, [rsp + 0x68]
call fcn.14005a150
mov rax, qword [rsp + 0x50]
mov bl, byte [rsp + 0x138]
movsxd r13, eax
lea rdi, [0x1400fcdf0]
cmp r13, rsi
je 0x140090635
sub rax, r12
mov qword [rsp + 0x50], rax
js 0x1400906b1
mov rax, qword [rsp + 0x68]
mov r9b, r15b
lea rdx, [rsp + 0x68]
or r9b, r12b
mov r8d, ebp
mov rcx, r14
mov word [rax], si
call fcn.140061c24
mov dword [rsp + 0x138], eax
cmp bl, 2
jne 0x140090671
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400906b1
mov eax, dword [rsp + 0x138]
cmp eax, esi
je 0x1400906b1
lea rcx, [rsp + 0x68]
mov edx, ebp
call fcn.140062054
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.14005a28c
cmp r13, rsi
je 0x14009069a
cmp qword [rsp + 0x50], rsi
jle 0x1400906b1
lea rcx, [rsp + 0x48]
mov rdx, rdi
call fcn.14005a28c
mov rax, qword [rsp + 0x50]
jmp 0x140090626
lea rcx, [rsp + 0x68]
mov ebp, 0x4b0
call fcn.140052160
mov rbx, qword [rsp + 0x78]
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.140062054
mov r12d, esi
mov rdi, rax
cmp rbx, rsi
je 0x1400906eb
cmp rbx, 0xffffffffffffffff
je 0x1400906eb
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x70]
call fcn.140052160
lea rcx, [rsp + 0xa0]
call fcn.140052160
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x120]
mov r8, rdi
call fcn.1400596c4
movsxd rsi, r12d
lea rcx, [rsp + 0x48]
call fcn.140052160
lea rcx, [rsp + 0xb8]
call fcn.140052160
lea rcx, [rsp + 0x60]
call fcn.140052160
lea rcx, [rsp + 0x88]
call fcn.140052160
mov rax, rsi
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret