Function at 0x1400a2368
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 ebp, 0xffff0000
lea r14d, [rsi + 9]
mov bl, sil
mov r13, rcx
mov byte [rsp + 0x40], sil
mov qword [rsp + 0x60], rbp
mov dword [rsp + 0x44], esi
mov byte [rsp + 0x138], bl
lea edi, [rsi + 5]
lea edx, [rsi + 0x20]
lea r12d, [rsi + 1]
mov r15d, 0x4b0
lea ecx, [rsi + 0xd]
cmp r14w, word [r11]
ja 0x1400a23d1
cmp word [r11], cx
jbe 0x1400a23d7
cmp dx, word [r11]
jne 0x1400a23e8
mov ebp, esi
mov dword [rsp + 0x44], r12d
mov qword [rsp + 0x60], rbp
jmp 0x1400a255a
lea rcx, str._UNI
mov r8d, 4
mov rdx, r11
call fcn.14005aea8
cmp al, sil
je 0x1400a240f
mov ebp, r15d
mov qword [rsp + 0x60], rbp
jmp 0x1400a2534
lea rcx, [0x140123d68]
mov r8d, 8
mov rdx, r11
call fcn.14005aea8
cmp al, sil
jne 0x1400a2402
lea rcx, str._UNIB
mov r8d, edi
mov rdx, r11
call fcn.14005aea8
cmp al, sil
je 0x1400a2447
mov ebp, 0x4b1
jmp 0x1400a2405
lea rcx, str._UNICODEB
mov r8d, r14d
mov rdx, r11
call fcn.14005aea8
cmp al, sil
jne 0x1400a2440
lea rcx, [0x140123d44]
mov r8d, edi
mov rdx, r11
call fcn.14005aea8
cmp al, sil
je 0x1400a2479
mov ebp, esi
jmp 0x1400a2405
lea rcx, str._GBK
mov r8d, 4
mov rdx, r11
call fcn.14005aea8
cmp al, sil
je 0x1400a249d
mov ebp, 0x3a8
jmp 0x1400a2405
lea rcx, str._BIG5
mov r8d, edi
mov rdx, r11
call fcn.14005aea8
cmp al, sil
je 0x1400a24be
mov ebp, 0x3b6
jmp 0x1400a2405
lea rcx, str._UTF8
mov r8d, edi
mov rdx, r11
call fcn.14005aea8
cmp al, sil
je 0x1400a24df
mov ebp, 0xfde9
jmp 0x1400a2405
lea rcx, str._UTF7
mov r8d, edi
mov rdx, r11
call fcn.14005aea8
cmp al, sil
je 0x1400a2500
mov ebp, 0xfde8
jmp 0x1400a2405
mov eax, 0x2d
cmp ax, word [r11]
jne 0x1400a2534
lea rcx, [r11 + 2]
movzx eax, word [rcx]
sub ax, 0x30
cmp ax, r14w
ja 0x1400a2534
mov r11, rcx
mov qword [rsp + 0x128], rcx
call fcn.1400636ac
mov rbp, rax
mov qword [rsp + 0x60], rax
mov edx, 0x20
lea ecx, [rdx - 0x13]
jmp 0x1400a255a
cmp r14w, ax
ja 0x1400a2549
cmp ax, cx
jbe 0x1400a2563
cmp dx, ax
je 0x1400a2563
add r11, 2
mov qword [rsp + 0x128], r11
movzx eax, word [r11]
cmp ax, si
jne 0x1400a253e
lea rcx, [rsp + 0x128]
call fcn.1400598f0
lea rdx, [rsp + 0x128]
lea rcx, [0x140123d1c]
mov r8d, 4
call fcn.140064cd0
lea rdx, [0x1401175e8]
lea rcx, [rsp + 0x88]
neg al
sbb r15b, r15b
and r15b, 2
call fcn.14006e2a8
lea rdx, str.READLINE
lea rcx, [rsp + 0x68]
call fcn.14006e2a8
mov edi, 0x2c
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x128]
mov r9d, edi
mov rcx, r13
mov r14, r12
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x20], si
call fcn.140052ed4
mov r9, qword [rsp + 0x88]
lea rcx, [0x140123d00]
mov rdx, r9
mov qword [rsp + 0x128], rax
call fcn.14005af40
cmp al, sil
je 0x1400a2631
mov bl, 9
mov qword [rsp + 0x70], r12
mov byte [rsp + 0x138], bl
lea rcx, [0x140123cfc]
mov rdx, r9
call fcn.14005af40
cmp al, sil
je 0x1400a270d
mov qword [rsp + 0x70], r12
or bl, r12b
mov byte [rsp + 0x138], bl
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xb8], rsi
call fcn.1400621f4
mov rdx, qword [rsp + 0x128]
lea r8, [rsp + 0xb0]
xor r9d, r9d
mov rcx, r13
mov byte [rsp + 0x20], r12b
call fcn.140077e38
mov r11, qword [rsp + 0xb0]
mov qword [rsp + 0x128], r11
cmp word [r11], di
jne 0x1400a2821
lea rcx, [rsp + 0x48]
call fcn.1400621f4
add qword [rsp + 0x128], 2
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x128]
mov r8d, edi
call fcn.140066220
mov r11, qword [rsp + 0x48]
lea rcx, [0x140123cf8]
mov rdx, r11
mov qword [rsp + 0x58], r11
call fcn.14005af40
cmp al, sil
je 0x1400a274e
lea rbx, [0x140123cf4]
mov byte [rsp + 0x40], 2
mov qword [rsp + 0xb8], rbx
mov bl, byte [rsp + 0x138]
jmp 0x1400a27e8
cmp word [r9], si
je 0x1400a264e
lea rcx, [0x140118cdc]
mov rdx, r9
call fcn.14005af40
cmp al, sil
jne 0x1400a264e
lea rcx, [0x140118464]
mov rdx, r9
call fcn.14005af40
cmp al, sil
je 0x1400a2658
mov bl, 2
jmp 0x1400a2651
lea rcx, [0x140123cf0]
mov rdx, r11
call fcn.14005af40
cmp al, sil
je 0x1400a2769
mov byte [rsp + 0x40], 3
jmp 0x1400a27e8
lea rcx, [0x14011c51c]
mov rdx, r11
call fcn.14005af40
cmp al, sil
je 0x1400a2793
lea rax, [0x140123cec]
mov byte [rsp + 0x40], r12b
mov qword [rsp + 0xb8], rax
jmp 0x1400a27e8
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.140072234
mov rax, qword [rsp + 0x58]
mov r11d, 0x2b
cmp r11w, word [rax]
jne 0x1400a27db
add rax, 2
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], rax
call fcn.140072234
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov r14, qword [rsp + 0x78]
mov qword [rsp + 0x90], r14
lea rcx, [rsp + 0x48]
call fcn.140059920
mov r11, qword [rsp + 0x128]
cmp word [r11], di
jne 0x1400a2821
add r11, 2
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x128]
mov r8d, edi
mov qword [rsp + 0x128], r11
call fcn.140066220
lea rdx, [rsp + 0x68]
xor r8d, r8d
mov rcx, r13
call fcn.140003a08
lea rcx, [rsp + 0x48]
mov edx, 8
call fcn.140061f7c
cmp ebp, esi
mov r13, qword [rsp + 0x48]
mov word [r13], si
jl 0x1400a3614
lea rcx, [rsp + 0x98]
call fcn.140061f18
mov rax, qword [rsp + 0x88]
mov ecx, 0x75
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rsi
mov edi, 0xff
cmp cx, word [rax]
jne 0x1400a2ada
mov ecx, 0x64
cmp cx, word [rax + 2]
jne 0x1400a2ada
lea edx, [rcx - 0x2a]
cmp dx, word [rax + 4]
jne 0x1400a2ada
add rax, 6
lea r9d, [rcx - 0x42]
mov r15b, 5
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x128]
mov word [rax], si
mov r10, qword [rsp + 0x138]
cmp r9w, word [r10]
jne 0x1400a28de
add r10, 2
mov qword [rsp + 0x138], r10
lea rcx, [rsp + 0x138]
call fcn.1400e4d6c
mov rcx, qword [rsp + 0x138]
cmp rcx, r10
je 0x1400a290b
cmp word [rcx - 2], r9w
jne 0x1400a290b
mov word [rcx - 2], si
mov rcx, qword [rsp + 0x138]
cmp dx, word [rcx]
jne 0x1400a2927
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 0x1400a2956
lea r8, [rcx + 2]
add rcx, 2
mov qword [rsp + 0x138], rcx
cmp r9w, word [rcx]
jne 0x1400a2951
mov word [rcx], si
mov rcx, qword [rsp + 0x138]
cmp word [rcx], si
jne 0x1400a2934
lea rdx, [rsp + 0x98]
mov r9d, 0x10000
mov rcx, r10
mov qword [rsp + 0x20], rsi
call fcn.140053d6c
mov rbx, qword [rsp + 0xa0]
cmp ebx, esi
mov r11, qword [rsp + 0x98]
jle 0x1400a299b
mov rax, qword [rsp + 0xa8]
lea r8, [r11 + rax]
mov qword [rsp + 0x128], r8
jmp 0x1400a29a3
mov r8, qword [rsp + 0x128]
movsx edx, byte [r8]
mov rcx, rsi
cmp edx, edi
jne 0x1400a29c1
movsx eax, byte [r8 + 1]
cmp eax, 0xfe
jne 0x1400a29c1
mov ebp, 0x4b0
jmp 0x1400a29d7
cmp edx, 0xfe
jne 0x1400a29de
movsx eax, byte [r8 + 1]
cmp eax, edi
jne 0x1400a29de
mov ebp, 0x4b1
mov ecx, 2
jmp 0x1400a2a08
cmp edx, 0xef
jne 0x1400a2a08
movsx eax, byte [r8 + 1]
cmp eax, 0xbb
jne 0x1400a2a08
movsx eax, byte [r8 + 2]
cmp eax, 0xbf
jne 0x1400a2a08
mov ebp, 0xfde9
mov ecx, 3
sub ebx, ecx
lea rdi, [rcx + r8]
cmp ebp, 0x4b1
jne 0x1400a2a4e
movsxd rdx, ebx
and rdx, 0xfffffffffffffffe
add rdx, rdi
cmp rdi, rdx
ja 0x1400a2a40
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 0x1400a2a25
mov r8, qword [rsp + 0x128]
mov r13d, dword [rsp + 0x44]
or r13d, 4
jmp 0x1400a2b6b
cmp ebp, 0x4b0
je 0x1400a2a40
mov r13d, dword [rsp + 0x44]
cmp r13d, esi
je 0x1400a2a75
movsxd rdx, ebx
mov rcx, rdi
call fcn.140077268
mov r11, qword [rsp + 0x98]
mov ebp, eax
movsxd rbx, ebx
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x80], r11
lea rdx, [rbx + rbx + 0x20]
mov qword [rsp + 0x98], rsi
call fcn.140061ff8
lea rcx, [rsp + 0x98]
movsxd r9, ebp
mov r8, rbx
mov rdx, rdi
call fcn.1400623b0
mov r11, qword [rsp + 0x98]
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x128], r11
call fcn.140059920
mov r8, qword [rsp + 0x128]
jmp 0x1400a2a45
mov rax, qword [rsp + 0x68]
cmp word [rax], si
jne 0x1400a2b26
lea rcx, [rsp + 0x98]
call fcn.140059920
lea rcx, [rsp + 0x48]
call fcn.140059920
lea rcx, [rsp + 0xb0]
call fcn.140059920
lea rcx, [rsp + 0x68]
call fcn.140059920
lea rcx, [rsp + 0x88]
call fcn.140059920
xor eax, eax
jmp 0x1400a365d
mov r8, qword [rsp + 0x128]
cmp bl, r12b
jne 0x1400a2b49
mov eax, 0x2c
cmp word [r8], ax
je 0x1400a2b49
mov r12d, 0x80070057
jmp 0x1400a3607
add r8, 2
mov qword [rsp + 0x128], r8
test r12b, bl
je 0x1400a2fda
mov r13d, dword [rsp + 0x44]
mov r15b, byte [rsp + 0x138]
mov qword [rsp + 0x58], rsi
cmp qword [rsp + 0x70], rsi
je 0x1400a2ce3
lea rcx, [rsp + 0x128]
call fcn.1400598f0
mov r8, qword [rsp + 0x128]
movzx eax, word [r8]
mov rdx, r8
cmp ax, si
je 0x1400a2be3
mov ecx, 9
lea r9d, [rcx + 4]
lea r10d, [rcx + 0x17]
cmp cx, ax
ja 0x1400a2bb4
cmp ax, r9w
jbe 0x1400a2bd1
cmp r10w, ax
je 0x1400a2bd1
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
je 0x1400a2be3
jmp 0x1400a2ba9
cmp word [r8], si
je 0x1400a2be3
mov word [r8], si
mov r8, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x120]
cmp word [rdx], si
je 0x1400a2ceb
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.140018934
cmp rax, rsi
je 0x1400a2d0b
mov rdi, qword [rax + 0x18]
mov rbx, qword [rax + 8]
movabs rcx, 0x3fffffffffffffff
and rdi, rcx
mov rcx, rsi
test r15b, 8
je 0x1400a2ca1
cmp byte [rbx], 0xff
jne 0x1400a2c46
cmp byte [rbx + 1], 0xfe
jne 0x1400a2c46
mov ebp, 0x4b0
mov ecx, 2
jmp 0x1400a2c73
cmp byte [rbx], 0xfe
jne 0x1400a2c58
cmp byte [rbx + 1], 0xff
jne 0x1400a2c58
mov ebp, 0x4b1
jmp 0x1400a2c3f
cmp byte [rbx], 0xef
jne 0x1400a2c76
cmp byte [rbx + 1], 0xbb
jne 0x1400a2c76
cmp byte [rbx + 2], 0xbf
jne 0x1400a2c76
mov ebp, 0xfde9
mov ecx, 3
mov r13d, esi
sub rdi, rcx
add rbx, rcx
cmp ebp, 0x4b1
je 0x1400a2ca1
cmp ebp, 0x4b0
je 0x1400a2ca1
cmp r13d, esi
je 0x1400a2c9e
mov rdx, rdi
mov rcx, rbx
call fcn.140077268
mov ebp, eax
mov r13d, esi
cmp r13d, esi
jg 0x1400a2cc3
cmp ebp, 0x4b0
je 0x1400a2cc3
lea rcx, [rsp + 0x58]
movsxd r9, ebp
mov r8, rdi
mov rdx, rbx
call fcn.1400623b0
jmp 0x1400a2cd6
shr rdi, 1
lea rcx, [rsp + 0x58]
mov rdx, rbx
mov r8, rdi
call fcn.14006245c
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x128], r8
mov rdi, qword [rsp + 0x120]
mov r13b, byte [rsp + 0x40]
mov r9, r8
cmp r13b, 3
jne 0x1400a2d15
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14006150c
jmp 0x1400a2fcb
mov r8, qword [rsp + 0x128]
jmp 0x1400a2ceb
cmp r13b, sil
je 0x1400a2e06
lea rax, [0x14011b5d8]
lea rdi, [0x140117df8]
lea rcx, [rsp + 0x138]
cmp r13b, r12b
cmove rdi, rax
call fcn.1400621f4
mov r11, qword [rsp + 0x128]
movzx eax, word [r11]
mov rbp, r11
cmp ax, si
je 0x1400a2dce
mov ebx, 0xa
lea ecx, [rbx + 3]
cmp ax, cx
jne 0x1400a2d77
cmp word [r11 + 2], bx
jne 0x1400a2d7c
mov word [r11], si
add qword [rsp + 0x128], 2
jmp 0x1400a2d80
cmp ax, bx
jne 0x1400a2db9
mov word [r11], si
cmp r13b, sil
jne 0x1400a2d95
lea rcx, [rsp + 0x138]
mov rdx, rdi
call fcn.140062330
lea rcx, [rsp + 0x138]
mov rdx, rbp
mov r13b, sil
call fcn.140062330
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 0x1400a2d5c
cmp word [rbp], si
je 0x1400a2df9
cmp r13b, sil
jne 0x1400a2de9
lea rcx, [rsp + 0x138]
mov rdx, rdi
call fcn.140062330
lea rcx, [rsp + 0x138]
mov rdx, rbp
call fcn.140062330
mov rcx, qword [rsp + 0x120]
jmp 0x1400a2fac
cmp r14, rsi
jge 0x1400a2e74
movzx eax, word [r8]
mov rdi, rsi
cmp ax, si
je 0x1400a2e48
mov ebx, 0xa
cmp ax, bx
jne 0x1400a2e24
add rdi, r12
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
jne 0x1400a2e1c
cmp r8, r9
jbe 0x1400a2e48
cmp word [r8 - 2], bx
je 0x1400a2e48
add rdi, r12
lea rcx, [rsp + 0x138]
mov edx, 0x20
call fcn.140062268
mov rcx, qword [rsp + 0x138]
lea rdx, [0x140118018]
mov r8, rdi
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x1400a2df9
mov ebx, 0xa
jne 0x1400a2f14
movzx eax, word [r8]
mov rcx, r8
mov rdx, r8
cmp ax, si
je 0x1400a2ee2
cmp ax, bx
jne 0x1400a2e99
mov rdx, rcx
mov rcx, r8
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
jne 0x1400a2e8e
cmp r8, r9
jbe 0x1400a2ecb
cmp word [r8 - 2], bx
je 0x1400a2ecb
cmp word [rcx], bx
jne 0x1400a2ec3
add rcx, 2
mov r8, rcx
jmp 0x1400a2cf9
cmp rcx, r9
jbe 0x1400a2ee2
lea rax, [rcx - 2]
mov r8d, 0xd
cmp word [rax], r8w
cmove rcx, rax
cmp word [rdx], bx
jne 0x1400a2eeb
add rdx, 2
sub rcx, rdx
sar rcx, 1
mov r8, rcx
jmp 0x1400a2f9c
cmp word [r8], si
je 0x1400a2f19
cmp word [r8], bx
jne 0x1400a2f08
sub r14, r12
add r8, 2
mov qword [rsp + 0x128], r8
cmp r14, r12
jg 0x1400a2ef9
movzx eax, word [r8]
mov r9, qword [rsp + 0x50]
mov rdx, r8
mov rcx, r9
cmp ax, si
je 0x1400a2f96
mov r10d, 0xd
cmp rcx, rsi
je 0x1400a2f5a
sub r9, r12
js 0x1400a2f96
jmp 0x1400a2f5a
cmp ax, r10w
je 0x1400a2f5f
cmp ax, bx
je 0x1400a2f5f
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
jne 0x1400a2f3f
cmp rcx, rsi
je 0x1400a2f69
cmp r9, rsi
je 0x1400a2f96
cmp r10w, word [r8]
jne 0x1400a2f7b
add r8, 2
mov qword [rsp + 0x128], r8
cmp bx, word [r8]
jne 0x1400a2f8d
add r8, 2
mov qword [rsp + 0x128], r8
mov ax, word [r8]
cmp ax, si
jne 0x1400a2f33
sub r8, rdx
sar r8, 1
lea rcx, [rsp + 0x138]
call fcn.14006e2cc
mov rcx, rdi
mov r8, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x68]
call fcn.14006150c
lea rcx, [rsp + 0x138]
call fcn.140059920
lea rcx, [rsp + 0x58]
call fcn.140059920
jmp 0x1400a2ae4
lea rcx, [rsp + 0x58]
mov edx, 8
call fcn.140061f7c
xor eax, eax
mov word [r13], si
mov qword [rsp + 0xd0], rax
mov rax, qword [0x140134330]
lea r14, [rsp + 0xc8]
mov qword [rsp + 0xc8], 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 0x1400a31e1
mov rcx, qword [rsp + 0x88]
mov rdi, rsi
call fcn.140006a44
cmp eax, esi
je 0x1400a3067
mov rcx, qword [rsp + 0x88]
mov edx, 0x80000000
mov r8d, 7
call fcn.14001d964
mov rbx, rax
mov qword [rsp + 0x78], rax
jmp 0x1400a30a4
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.14000384c
mov rbx, qword [rsp + 0x78]
cmp qword [r14], rsi
jne 0x1400a30b7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
jmp 0x1400a35e9
mov rcx, qword [r14]
xor eax, eax
lea r9, [rsp + 0x80]
lea rdx, [rsp + 0x70]
lea r8d, [rax + 3]
mov byte [rsp + 0x70], sil
mov byte [rsp + 0x71], sil
mov byte [rsp + 0x72], sil
mov word [rsp + 0x73], ax
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r11b, byte [rsp + 0x70]
cmp r11b, 0xff
jne 0x1400a3112
cmp byte [rsp + 0x71], 0xfe
jne 0x1400a314d
mov ebp, 0x4b0
mov edi, 2
jmp 0x1400a3144
cmp r11b, 0xfe
jne 0x1400a3126
cmp byte [rsp + 0x71], 0xff
jne 0x1400a314d
mov ebp, 0x4b1
jmp 0x1400a310b
cmp r11b, 0xef
jne 0x1400a314d
cmp byte [rsp + 0x71], 0xbb
jne 0x1400a314d
cmp byte [rsp + 0x72], 0xbf
jne 0x1400a314d
mov ebp, 0xfde9
mov edi, 3
mov qword [rsp + 0x60], rbp
mov dword [rsp + 0x44], esi
mov rcx, qword [r14]
xor r8d, r8d
mov rdx, rdi
call fcn.14005adf0
cmp rax, rsi
mov qword [rsp + 0xc0], rax
jl 0x1400a30a9
cmp dword [rsp + 0x44], esi
je 0x1400a31e1
mov rcx, qword [r14]
call fcn.1400e1fa4
cmp rax, 0x1000000
mov rdi, rax
jg 0x1400a31e1
lea rdx, [rax + 0x10]
lea rcx, [rsp + 0x98]
call fcn.140061ff8
mov rdx, qword [rsp + 0x98]
mov rcx, qword [r14]
lea r9, [rsp + 0x80]
mov r8d, edi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.14005adf0
mov rcx, qword [rsp + 0x98]
mov rdx, rdi
call fcn.140077268
mov ebp, eax
mov qword [rsp + 0x60], rbp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov dil, byte [rsp + 0x40]
cmp dil, 3
jne 0x1400a3304
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.140061ff8
mov rdi, qword [rsp + 0x50]
lea r9, [rsp + 0x138]
lea rdx, [r15 + rdi]
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 0x1400a3292
cmp eax, esi
jne 0x1400a32a1
cmp bpl, 2
jne 0x1400a328d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400a32a1
mov rcx, qword [rsp + 0x138]
sub rbx, r12
js 0x1400a32a1
add r13d, ecx
movsxd r15, r13d
mov byte [r15 + rdi], sil
jmp 0x1400a3213
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.14006b86c
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x120]
mov r8, rax
call fcn.14006150c
lea rcx, [rsp + 0x50]
call fcn.140059920
mov rbx, qword [rsp + 0x78]
cmp rbx, rsi
je 0x1400a32e8
cmp rbx, 0xffffffffffffffff
je 0x1400a32e8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x58]
call fcn.140059920
lea rcx, [rsp + 0x98]
call fcn.140059920
jmp 0x1400a362c
cmp dil, sil
je 0x1400a33cf
mov rax, qword [rsp + 0xb8]
lea rdx, [0x1401182b8]
lea rcx, [rsp + 0x80]
cmp rax, rsi
cmovne rdx, rax
or r8, 0xffffffffffffffff
call fcn.14006e2e8
or r15b, r12b
lea rcx, [rsp + 0x50]
call fcn.1400621f4
cmp dil, sil
jne 0x1400a3358
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x48]
call fcn.140062330
lea rdx, [rsp + 0x50]
mov r9b, r15b
mov r8d, ebp
mov rcx, r14
call fcn.14006b43c
cmp byte [rsp + 0x138], 2
mov edi, eax
jne 0x1400a3382
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400a33ae
lea rcx, [rsp + 0x50]
mov edx, ebp
call fcn.14006b86c
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.140062330
lea rcx, [rsp + 0x50]
call fcn.140059920
cmp edi, esi
je 0x1400a33b8
mov dil, sil
jmp 0x1400a3337
lea rcx, [rsp + 0x50]
call fcn.140059920
lea rcx, [rsp + 0x80]
mov ebp, 0x4b0
call fcn.140059920
jmp 0x1400a35d7
mov rax, qword [rsp + 0x90]
cmp rax, rsi
jge 0x1400a3444
mov bl, byte [rsp + 0x138]
mov rdi, rsi
lea rdx, [rsp + 0x48]
mov r9b, r15b
mov r8d, ebp
mov rcx, r14
call fcn.14006b43c
mov r13d, eax
cmp bl, 2
jne 0x1400a340c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400a3416
cmp r13d, esi
je 0x1400a3416
add rdi, r12
jmp 0x1400a33e6
lea rcx, [rsp + 0x48]
mov edx, 0x20
mov ebp, 0x4b0
call fcn.140061ff8
mov rcx, qword [rsp + 0x48]
lea rdx, [0x140118018]
mov r8, rdi
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x1400a35d2
jne 0x1400a3492
or r15b, r12b
mov rax, r13
mov r13, qword [rsp + 0x58]
lea rdx, [rsp + 0x58]
mov r9b, r15b
mov r8d, ebp
mov rcx, r14
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], rax
call fcn.14006b43c
cmp byte [rsp + 0x138], 2
mov edi, eax
jne 0x1400a3489
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400a35d7
cmp edi, esi
jne 0x1400a3449
jmp 0x1400a35d7
cmp r12, rax
mov rdi, r12
jge 0x1400a34df
mov rbx, rax
lea rdx, [rsp + 0x48]
mov r9b, r15b
mov r8d, ebp
mov rcx, r14
call fcn.14006b43c
cmp byte [rsp + 0x138], 2
mov r13d, eax
jne 0x1400a34c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400a34d5
cmp r13d, esi
je 0x1400a34d5
add rdi, r12
cmp rdi, rbx
jl 0x1400a349d
mov r13, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
mov byte [r13], sil
cmp qword [rsp + 0x50], r12
jne 0x1400a3505
or r15b, r12b
lea rdx, [rsp + 0x48]
mov r8d, ebp
mov r9b, r15b
mov rcx, r14
call fcn.14006b43c
jmp 0x1400a35d7
lea rcx, [rsp + 0x90]
call fcn.1400621f4
mov rax, qword [rsp + 0x50]
mov bl, byte [rsp + 0x138]
movsxd r13, eax
lea rdi, [0x140117df8]
cmp r13, rsi
je 0x1400a353b
sub rax, r12
mov qword [rsp + 0x50], rax
js 0x1400a35c0
mov rax, qword [rsp + 0x90]
mov r9b, r15b
lea rdx, [rsp + 0x90]
or r9b, r12b
mov r8d, ebp
mov rcx, r14
mov word [rax], si
call fcn.14006b43c
mov dword [rsp + 0x138], eax
cmp bl, 2
jne 0x1400a357d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1400a35c0
mov eax, dword [rsp + 0x138]
cmp eax, esi
je 0x1400a35c0
lea rcx, [rsp + 0x90]
mov edx, ebp
call fcn.14006b86c
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.140062330
cmp r13, rsi
je 0x1400a35a9
cmp qword [rsp + 0x50], rsi
jle 0x1400a35c0
lea rcx, [rsp + 0x48]
mov rdx, rdi
call fcn.140062330
mov rax, qword [rsp + 0x50]
jmp 0x1400a3528
lea rcx, [rsp + 0x90]
mov ebp, 0x4b0
call fcn.140059920
mov rbx, qword [rsp + 0x78]
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14006b86c
mov r12d, esi
mov r13, rax
cmp rbx, rsi
je 0x1400a35fd
cmp rbx, 0xffffffffffffffff
je 0x1400a35fd
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x58]
call fcn.140059920
lea rcx, [rsp + 0x98]
call fcn.140059920
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x120]
mov r8, r13
call fcn.14006150c
movsxd rsi, r12d
lea rcx, [rsp + 0x48]
call fcn.140059920
lea rcx, [rsp + 0xb0]
call fcn.140059920
lea rcx, [rsp + 0x68]
call fcn.140059920
lea rcx, [rsp + 0x88]
call fcn.140059920
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