Function at 0x140063304
Capabilities:
Read file on windows

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
xor r15d, r15d
mov rsi, rcx
lea eax, [r15 + 0x23]
mov byte [rsp + 0x50], r15b
lea r13d, [r15 + 1]
cmp word [rdx], ax
jne 0x14006334a
add rdx, 2
mov byte [rsp + 0x50], r13b
mov qword [r11 + 0x10], rdx
mov ebx, 9
lea ebp, [rbx + 0x17]
lea r12d, [rbx + 4]
jmp 0x140063374
cmp bx, ax
ja 0x140063363
cmp ax, r12w
jbe 0x14006337d
cmp bp, ax
je 0x14006337d
add rdx, 2
mov qword [rsp + 0x1d8], rdx
movzx eax, word [rdx]
cmp ax, r15w
jne 0x140063358
lea rcx, [rsp + 0x1d8]
call fcn.140044ef4
lea rcx, [rsp + 0x118]
mov edx, r13d
call fcn.14004bedc
lea rcx, [rsp + 0x70]
call fcn.14004be6c
lea rcx, [rsp + 0xf8]
mov edx, r13d
call fcn.14004bedc
lea rcx, [rsp + 0x80]
mov edx, r13d
call fcn.14004bedc
lea rcx, [rsp + 0xc0]
call fcn.14004be6c
mov rdi, qword [rsp + 0x1d8]
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x1e8], rdi
mov qword [rsp + 0xb8], r15
mov r14, r15
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0x58], r15
call fcn.14004be6c
movzx r11d, word [rdi]
mov r8d, 0x2d
cmp r8w, r11w
jne 0x1400634c3
lea esi, [r8 - 1]
movzx eax, word [rdi + 2]
cmp ax, r15w
je 0x140063484
cmp bx, ax
ja 0x140063433
cmp ax, r12w
jbe 0x140063484
cmp bp, ax
je 0x140063484
cmp ax, si
je 0x140063484
cmp bx, r11w
ja 0x140063449
cmp r11w, r12w
jbe 0x14006345d
cmp bp, r11w
je 0x14006345d
add rdi, 2
mov r11w, word [rdi]
cmp r11w, r15w
jne 0x14006343d
lea rcx, [rsp + 0x1e8]
mov qword [rsp + 0x1e8], rdi
call fcn.140044ef4
mov rdi, qword [rsp + 0x1e8]
mov r11w, word [rdi]
cmp r8w, r11w
je 0x14006341e
mov rsi, qword [rsp + 0x1d0]
mov word [rdi - 2], r15w
mov rdx, qword [rsp + 0x1d8]
lea r8, [rsp + 0xf0]
mov rcx, rsi
xor r9d, r9d
mov byte [rsp + 0x20], r13b
call fcn.140056690
mov r11, qword [rsp + 0xf0]
mov qword [rsp + 0x1d8], r11
jmp 0x1400634d3
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x1d8], rax
lea rdx, [rsp + 0x1d8]
lea rcx, str._find
mov r8d, 5
call fcn.14004e558
lea rcx, [rsp + 0xd0]
mov dword [rsp + 0x7c], r15d
mov r12b, al
mov byte [rsp + 0x60], al
mov dword [rsp + 0x68], r15d
call fcn.14004be6c
lea rcx, [rsp + 0x100]
call fcn.14004be6c
mov r11, qword [rsp + 0x1d8]
lea rcx, [0x1400df134]
mov rdx, r11
mov r8d, 3
call fcn.140045fc8
cmp al, r15b
je 0x140063663
add r11, 6
mov qword [rsp + 0x1d8], r11
mov qword [rsp + 0x1e8], r11
movzx eax, word [r11]
cmp ax, r15w
je 0x140063586
mov ecx, 0xd
cmp bx, ax
ja 0x14006356b
cmp ax, cx
jbe 0x140063586
cmp bp, ax
je 0x140063586
add r11, 2
mov qword [rsp + 0x1d8], r11
mov ax, word [r11]
cmp ax, r15w
jne 0x140063561
lea rcx, [rsp + 0x1d8]
call fcn.140044ef4
lea rdx, [rsp + 0x7c]
lea rcx, [rsp + 0x1e8]
call fcn.14004fc04
mov r8, qword [rsp + 0x1e8]
mov eax, 0x40
cmp ax, word [r8]
jne 0x140063663
add r8, 2
mov qword [rsp + 0x1e8], r8
mov r10, r8
movzx eax, word [r8]
cmp ax, r15w
je 0x140063607
mov esi, 0xd
cmp bx, ax
ja 0x1400635e4
cmp ax, si
jbe 0x1400635f7
cmp bp, ax
je 0x1400635f7
add r8, 2
mov ax, word [r8]
cmp ax, r15w
jne 0x1400635da
mov rsi, qword [rsp + 0x1d0]
mov qword [rsp + 0x1e8], r8
lea rcx, [rsp + 0x1e8]
call fcn.140044ef4
cmp word [r8], r15w
je 0x140063627
mov rax, qword [rsp + 0x1e8]
mov word [rax - 2], r15w
lea r8, [rsp + 0xd0]
xor r9d, r9d
mov rdx, r10
mov rcx, rsi
mov byte [rsp + 0x20], r13b
call fcn.140056690
mov rbp, qword [rsp + 0xd0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r12d, [rax + 8]
mov dword [rsp + 0x68], r12d
mov r12b, byte [rsp + 0x60]
jmp 0x14006366b
mov rbp, qword [rsp + 0xd0]
lea rdx, [rsp + 0x1d8]
lea rcx, str._bin
mov r8d, 4
call fcn.14004e558
movzx ebx, r15b
lea r8, [rsp + 0x70]
cmp al, r15b
lea rdx, [rsp + 0x1d8]
mov r9d, 0x2c
cmovne ebx, r13d
mov qword [rsp + 0x1d8], rdi
mov al, bl
neg al
sbb cx, cx
not cx
and cx, 3
mov word [rsp + 0x20], cx
mov rcx, rsi
call fcn.14003f478
mov rdx, qword [rsp + 0x1d8]
lea r8, [rsp + 0x100]
xor r9d, r9d
mov rcx, rsi
mov byte [rsp + 0x20], r13b
call fcn.140056690
mov r11, qword [rsp + 0x100]
mov rax, qword [rsp + 0x70]
mov ecx, 0x26
mov qword [rsp + 0x1d8], r11
movzx r15d, bl
cmp cx, word [rax]
lea ebx, [rcx + 6]
lea rdx, [rsp + 0xf8]
cmove r15d, r13d
lea rcx, [rsp + 0x1d8]
mov r8d, ebx
xor r9d, r9d
mov dword [rsp + 0x64], r15d
call fcn.14003f640
mov r11, qword [rsp + 0xf8]
xor edi, edi
cmp word [r11], di
je 0x140063807
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x1d8]
mov r9d, ebx
mov rcx, rsi
mov word [rsp + 0x20], di
call fcn.14003f5bc
mov r11, qword [rsp + 0x80]
cmp word [r11], di
je 0x14006467d
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x1d8]
mov r9d, ebx
mov rcx, rsi
mov word [rsp + 0x20], di
call fcn.14003f5bc
cmp r12b, dil
je 0x1400637aa
mov rax, qword [rsp + 0xc0]
cmp word [rax], di
je 0x140063faa
lea rcx, [rsp + 0xa8]
call fcn.14004bc1c
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0x1e8], rcx
mov dword [rsp + 0xb4], edi
mov rbx, rdi
cmp r15b, dil
jne 0x1400637f5
lea rcx, [rsp + 0x1e8]
mov edx, r13d
call fcn.1400631e4
mov rcx, qword [rsp + 0x1e8]
mov rbx, rax
cmp word [rcx], di
jne 0x140063812
lea rcx, [rsp + 0xa8]
call fcn.140044f24
mov r13d, 0x80070057
jmp 0x14006467d
cmp rbx, rdi
je 0x140063921
mov edx, 0x23
cmp dx, word [rbx]
jne 0x140063921
mov rdi, qword [0x1400f1ca0]
movzx r12d, word [rbx]
xor eax, eax
lea r8d, [rdx + 0xb]
mov word [rbx], ax
mov rsi, rax
cmp r8w, word [rcx]
jne 0x140063855
cmp word [rcx + 2], ax
jne 0x140063855
mov rdi, qword [0x1400f1ca0]
jmp 0x140063875
cmp word [rcx], ax
je 0x140063875
xor edx, edx
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rsi, rax
mov rdi, rax
xor eax, eax
lea edx, [rax + 0x23]
lea r8d, [rax + 0x2e]
mov word [rbx], r12w
add rbx, 2
mov dword [rsp + 0x1e8], 0x20
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rax
cmp r8w, word [rbx]
jne 0x1400638b8
mov word [rbx], dx
add rbx, 2
mov dword [rsp + 0x1e8], 0x40
mov qword [rsp + 0x98], rbx
cmp rdi, rax
je 0x140063911
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x98]
call fcn.1400630f4
mov rdx, qword [rsp + 0x90]
lea r9, [rsp + 0xa8]
mov r8, rax
movzx eax, byte [rsp + 0x1e8]
mov rcx, rdi
mov dword [rsp + 0x1e8], eax
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x20], rax
call fcn.140017f3c
mov r15b, 2
mov dword [rsp + 0x64], r15d
xor edi, edi
cmp rsi, rdi
je 0x140063921
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x1e8], rcx
call fcn.140015cb4
lea rcx, [rsp + 0x70]
mov rdx, rax
call fcn.1400589a0
lea rcx, [rsp + 0x1e8]
call fcn.140044f24
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0x1e8], rcx
call fcn.140015cb4
lea rcx, [rsp + 0xc0]
mov rdx, rax
call fcn.1400589a0
lea rcx, [rsp + 0x1e8]
call fcn.140044f24
xor eax, eax
lea rdx, [rsp + 0xb8]
mov ebx, eax
mov dword [rsp + 0xc8], eax
mov esi, eax
mov dword [rsp + 0x88], eax
mov r12d, eax
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0xf8]
lea rcx, [rsp + 0x1d8]
mov dword [rsp + 0xa0], edi
mov qword [rsp + 0x1d8], rax
call fcn.140051edc
mov rax, qword [rsp + 0x1d8]
mov edx, 0x2a
movabs r8, 0x7fffffffffffffff
lea ecx, [rdx - 7]
cmp word [rax], cx
jne 0x140063b31
add rax, 2
mov qword [rsp + 0x1d8], rax
cmp dx, word [rax]
jne 0x140063a18
add rax, 2
mov r14, r8
mov qword [rsp + 0x1d8], rax
jmp 0x140063a42
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x1d8]
call fcn.140051edc
mov rax, qword [rsp + 0x1d8]
mov r14, qword [rsp + 0xd8]
mov ecx, 0x23
cmp word [rax], cx
jne 0x140063b31
add rax, 2
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x1d8]
mov qword [rsp + 0x1d8], rax
call fcn.140051edc
xor edx, edx
cmp eax, edx
mov rax, qword [rsp + 0x1d8]
lea ecx, [rdx + 0x23]
cmovg edi, dword [rsp + 0x58]
mov dword [rsp + 0xa0], edi
cmp word [rax], cx
jne 0x140063b31
add rax, 2
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x1d8]
mov qword [rsp + 0x1d8], rax
call fcn.140051edc
xor edi, edi
cmp eax, edi
mov rax, qword [rsp + 0x1d8]
cmovg ebx, dword [rsp + 0x58]
mov dword [rsp + 0xc8], ebx
lea ebx, [rdi + 0x23]
cmp word [rax], bx
jne 0x140063b33
add rax, 2
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x1d8]
mov qword [rsp + 0x1d8], rax
call fcn.140051edc
cmp eax, edi
mov rax, qword [rsp + 0x1d8]
cmovg esi, dword [rsp + 0x58]
mov dword [rsp + 0x88], esi
cmp word [rax], bx
jne 0x140063b33
add rax, 2
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x1d8]
mov qword [rsp + 0x1d8], rax
call fcn.140051edc
cmp eax, edi
cmovg r12d, dword [rsp + 0x58]
mov dword [rsp + 0x78], r12d
jmp 0x140063b33
xor edi, edi
lea rcx, [rsp + 0x1d8]
call fcn.140044ef4
mov rax, qword [rsp + 0x70]
mov ecx, 0x75
mov rsi, rdi
mov ebx, edi
cmp cx, word [rax]
jne 0x140063c6d
mov ecx, 0x64
cmp cx, word [rax + 2]
jne 0x140063c6d
lea edx, [rcx - 0x2a]
cmp dx, word [rax + 4]
jne 0x140063c6d
lea r10, [rax + 6]
mov rax, qword [rsp + 0xb8]
lea r9d, [rcx - 0x42]
mov r15b, 4
mov qword [rsp + 0x1e8], r10
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xe0], rax
mov r12, rdi
mov dword [rsp + 0x64], r15d
cmp r9w, word [r10]
jne 0x140063bb9
add r10, 2
mov qword [rsp + 0x1e8], r10
lea rcx, [rsp + 0x1e8]
call fcn.1400588ac
mov rcx, qword [rsp + 0x1e8]
cmp rcx, r10
je 0x140063be6
cmp word [rcx - 2], r9w
jne 0x140063be6
mov word [rcx - 2], di
mov rcx, qword [rsp + 0x1e8]
cmp dx, word [rcx]
jne 0x140063c02
mov word [rcx], di
mov rcx, qword [rsp + 0x1e8]
add rcx, 2
mov qword [rsp + 0x1e8], rcx
mov r8, rcx
cmp r9w, word [rcx]
jne 0x140063c31
lea r8, [rcx + 2]
add rcx, 2
mov qword [rsp + 0x1e8], rcx
cmp r9w, word [rcx]
jne 0x140063c2c
mov word [rcx], di
mov rcx, qword [rsp + 0x1e8]
cmp word [rcx], di
jne 0x140063c0f
lea rax, [rsp + 0xe0]
lea rdx, [rsp + 0xa8]
mov r9d, 0x10000
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.1400407e8
movsxd rsi, dword [rsp + 0xb4]
mov ebx, dword [rsp + 0xb0]
add rsi, qword [rsp + 0xa8]
jmp 0x140063c75
mov r12, qword [rsp + 0xb8]
cmp r15b, dil
je 0x140063e82
lea rcx, [0x1400f2c58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x58]
call fcn.14004be6c
mov rdi, qword [rsp + 0x1d0]
cmp r15b, r13b
jne 0x140063ce3
lea rdx, [rsp + 0x70]
xor r8d, r8d
mov rcx, rdi
call fcn.1400035d0
mov rdx, qword [rsp + 0x70]
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, rdi
call fcn.140012bb4
xor edx, edx
cmp rax, rdx
je 0x140063d68
mov ebx, dword [rax + 0x18]
mov rsi, qword [rax + 8]
mov r15d, dword [rsp + 0x64]
and ebx, 0x3fffffff
cmp r15b, 2
jne 0x140063cf8
mov ebx, dword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa8]
cmp r12d, ebx
cmovg r12d, ebx
sub ebx, r12d
movsxd rax, r12d
add rsi, rax
movsxd rax, ebx
cmp r14, rax
cmovg r14d, ebx
xor r12d, r12d
cmp byte [rsp + 0x50], r12b
je 0x140063d72
mov rdx, qword [rsp + 0x80]
mov r9d, r14d
mov r8, rsi
mov rcx, rdi
mov byte [rsp + 0x28], r12b
mov qword [rsp + 0x20], r12
call fcn.14005e494
lea rcx, [rsp + 0x58]
call fcn.140044f24
lea rcx, [0x1400f2c58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0xa8]
call fcn.140044f24
mov r13d, r12d
jmp 0x14006467d
mov rbx, qword [rsp + 0x58]
jmp 0x140063e41
mov ecx, dword [rsp + 0x7c]
lea r8d, [r14 + r14*4 + 0xa]
cmp ecx, r12d
jle 0x140063d98
mov eax, r14d
cdq
idiv ecx
lea ecx, [r13 + rax]
mov eax, dword [rsp + 0x68]
add eax, 2
imul ecx, eax
add r8d, ecx
lea edx, [r8 + 6]
lea rcx, [rsp + 0x58]
call fcn.14004bf70
sub r14d, r13d
mov rbx, qword [rsp + 0x58]
mov rdi, rbx
mov rax, rbx
js 0x140063e34
mov ebx, dword [rsp + 0x7c]
mov r15d, 0xa
xor ecx, ecx
cmp ebx, ecx
jle 0x140063e09
mov eax, r12d
cdq
idiv ebx
cmp edx, ecx
jne 0x140063e09
cmp r12d, ecx
jle 0x140063de4
lea eax, [rcx + 0xd]
mov word [rdi], ax
mov word [rdi + 2], r15w
add rdi, 4
cmp dword [rsp + 0x68], ecx
je 0x140063e09
lea rdx, str._8X_s
mov r9, rbp
mov r8d, r12d
mov rcx, rdi
call qword [sym.imp.USER32.dll_wsprintfW]
movsxd r11, dword [rsp + 0x68]
lea rdi, [rdi + r11*2]
movzx r8d, byte [rsi]
lea rdx, str.0x_02X
mov rcx, rdi
call qword [sym.imp.USER32.dll_wsprintfW]
add rdi, r15
add rsi, r13
add r12d, r13d
sub r14d, r13d
lea rax, [rdi - 2]
jns 0x140063dc0
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x1d0]
xor edx, edx
mov word [rax], dx
mov rdx, qword [rsp + 0x80]
mov r8, rbx
mov rcx, rdi
call fcn.14004b578
lea rcx, [rsp + 0x58]
call fcn.140044f24
lea rcx, [0x1400f2c58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0xa8]
call fcn.140044f24
xor eax, eax
mov r13d, eax
jmp 0x14006467d
lea rcx, [rsp + 0x58]
mov edx, 0x3c
call fcn.14004bedc
lea rdx, [rsp + 0x64]
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x64], edi
call fcn.140062f5c
cmp al, dil
mov byte [rsp + 0x1e8], al
jge 0x140063ebf
lea rcx, [rsp + 0x58]
call fcn.140044f24
jmp 0x1400637fa
mov rdx, qword [rsp + 0x70]
xor eax, eax
or r15, 0xffffffffffffffff
lea ecx, [rax + 3]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov r9d, ecx
lea rcx, [rsp + 0xb8]
mov r8d, 0x80000000
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x108], rdi
mov rsi, r15
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xd8], r15d
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x20], rax
call fcn.1400034e0
mov al, byte [rsp + 0x1e8]
mov rbx, qword [rsp + 0xb8]
cmp al, 0x11
jne 0x140063fd0
mov edx, dword [rsp + 0x64]
lea r8, [rsp + 0x98]
mov rcx, rbx
call fcn.140054504
xor r8d, r8d
cmp rax, r8
mov qword [rsp + 0xe0], rax
jge 0x140063fc6
cmp rbx, r8
je 0x140063f7e
cmp rbx, r15
je 0x140063f7e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x90]
call fcn.140044f24
lea rcx, [rsp + 0x58]
call fcn.140044f24
lea rcx, [rsp + 0xa8]
call fcn.140044f24
mov rsi, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x80]
lea r8, str.0xFFFFFFFF
mov rcx, rsi
call fcn.14004b578
jmp 0x14006467d
mov rsi, qword [rsp + 0x98]
jmp 0x140063ffa
xor r8d, r8d
cmp rbx, r8
je 0x140064001
mov rcx, rbx
cmp al, r8b
jne 0x140063fed
xor edx, edx
lea r8d, [rdx + 2]
call fcn.140045f34
jmp 0x140063ff4
mov dl, al
call fcn.14004a0b4
xor r8d, r8d
mov rsi, rax
mov al, byte [rsp + 0x1e8]
cmp byte [rsp + 0x60], r8b
je 0x1400641da
mov rdx, qword [rsp + 0xc0]
mov eax, 0x2a
mov ebp, r8d
mov r13, r8
cmp ax, word [rdx]
jne 0x140064057
mov rcx, qword [rsp + 0x1d0]
lea r8, [rsp + 0x90]
add rdx, 2
xor r9d, r9d
call fcn.140055688
mov r13, qword [rsp + 0x90]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebp, eax
add ebp, ebp
jmp 0x1400640ce
mov qword [rsp + 0x38], r8
mov dword [rsp + 0x30], r8d
mov eax, 3
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r8
lea rcx, [rsp + 0x108]
mov r8d, 0x80000000
mov r9d, eax
call fcn.1400034e0
mov rdi, qword [rsp + 0x108]
xor ecx, ecx
cmp rdi, rcx
je 0x1400640ce
lea r8d, [rcx + 2]
xor edx, edx
mov rcx, rdi
call fcn.140045f34
mov rcx, rdi
mov rbp, rax
mov eax, 0x20000000
cmp rbp, rax
cmovg rbp, rax
xor r9d, r9d
lea r8d, [r9 + 2]
movsxd rdx, ebp
call fcn.1400a7110
mov qword [rsp + 0x110], rax
mov r13, rax
movsxd rcx, dword [rsp + 0xc8]
xor edx, edx
cmp ecx, edx
jle 0x1400640e1
add r13, rcx
sub ebp, ecx
mov eax, dword [rsp + 0xa0]
xor ecx, ecx
cmp eax, ecx
jle 0x1400640f3
cmp ebp, eax
cmovg ebp, eax
cmp rbx, rcx
je 0x140064140
cmp r13, rcx
je 0x140064140
cmp ebp, ecx
jle 0x140064140
mov eax, dword [rsp + 0x88]
cmp eax, ecx
jl 0x140064140
mov ecx, dword [rsp + 0x78]
mov r9d, ebp
mov r8, r13
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], eax
mov al, byte [rsp + 0x1e8]
mov qword [rsp + 0x30], r14
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x20], al
call fcn.140054708
jmp 0x140064143
mov rax, r15
lea rcx, [rsp + 0x120]
mov rdx, rax
call fcn.1400a9350
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x1d0]
lea r8, [rsp + 0x120]
call fcn.14004b578
xor esi, esi
cmp rbx, rsi
je 0x140064185
cmp rbx, r15
je 0x140064185
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp rdi, rsi
je 0x140064198
cmp rdi, r15
je 0x140064198
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x90]
call fcn.140044f24
mov rax, qword [rsp + 0x110]
cmp rax, rsi
je 0x1400641bb
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
lea rcx, [rsp + 0x58]
call fcn.140044f24
lea rcx, [rsp + 0xa8]
call fcn.140044f24
mov r13d, esi
jmp 0x14006467d
mov dword [rsp + 0x78], r8d
cmp rbx, r8
je 0x1400645be
cmp r12, r8
jl 0x1400645be
cmp r12, rsi
jg 0x1400645be
cmp al, r8b
jne 0x140064210
cmp rsi, r8
jg 0x140064226
mov rdi, qword [rsp + 0x58]
xor esi, esi
jmp 0x1400645fd
cmp rsi, r8
movabs rax, 0x7fffffffffffffff
cmovl rsi, rax
cmp rsi, r8
jle 0x140064237
mov rax, rsi
sub rax, r12
cmp rax, r14
jge 0x140064237
sub esi, r12d
movsxd r14, esi
mov ecx, dword [rsp + 0x7c]
lea eax, [r14 + 2]
cmp ecx, r8d
lea esi, [rax + rax*4]
jle 0x14006425e
mov eax, r14d
cdq
idiv ecx
lea ecx, [r13 + rax]
mov eax, dword [rsp + 0x68]
add eax, 2
imul ecx, eax
add esi, ecx
cmp byte [rsp + 0x50], r8b
je 0x140064270
lea eax, [r14 + 1]
cdq
sub eax, edx
sar eax, 1
mov esi, eax
lea edx, [rsi + 4]
lea rcx, [rsp + 0x58]
call fcn.14004bf70
mov rdi, qword [rsp + 0x58]
xor edx, edx
cmp rdi, rdx
jne 0x1400642c0
cmp rbx, r15
je 0x140064297
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x90]
call fcn.140044f24
lea rcx, [rsp + 0x58]
call fcn.140044f24
lea rcx, [rsp + 0xa8]
call fcn.140044f24
jmp 0x14006467d
mov qword [rsp + 0x1d8], rdi
mov word [rdi], dx
mov rcx, qword [rsp + 0x1d8]
mov qword [rsp + 0xa0], rcx
cmp byte [rsp + 0x50], dl
je 0x1400642fa
movsxd rax, r14d
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x1d8]
movsxd rcx, esi
xor esi, esi
mov word [rax + rcx*2], si
jmp 0x1400642fc
xor esi, esi
add r12, qword [rsp + 0xe0]
mov ax, si
mov ecx, 0x1ff
mov qword [rsp + 0xe0], rax
cmp byte [rsp + 0x1e8], sil
je 0x140064337
mov rax, r12
cqo
and rdx, rcx
add rax, rdx
and rax, rcx
sub rax, rdx
mov qword [rsp + 0xe0], rax
movzx eax, ax
xor r8d, r8d
mov rcx, rbx
sub r12, rax
mov rdx, r12
call fcn.140045f34
lea rcx, [rsp + 0x98]
mov edx, 0x100800
call fcn.14004bc80
cmp r14, rsi
mov dword [rsp + 0x88], esi
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0x64], esi
jle 0x14006455e
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xa0]
movzx ecx, di
mov r12d, 0x100000
sub r12d, ecx
movsxd rax, r12d
cmp rax, r14
cmovg r12d, r14d
lea eax, [rcx + r12]
xor ecx, ecx
cmp byte [rsp + 0x1e8], cl
je 0x1400643c9
add eax, 0x1ff
cdq
and edx, 0x1ff
add eax, edx
and eax, 0xfffffe00
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x88]
mov r8d, eax
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
xor eax, eax
cmp byte [rsp + 0x50], al
je 0x140064437
movsxd r12, r12d
movzx edx, di
mov rcx, r15
add rdx, rsi
mov r8, r12
call fcn.1400177f8
add r15, r12
sub r14, r12
mov qword [rsp + 0xa0], r15
mov r10, qword [rsp + 0x1d8]
xor r12d, r12d
cmp r14, r12
mov di, r12w
jg 0x140064391
mov rdi, qword [rsp + 0x58]
or r15, 0xffffffffffffffff
xor esi, esi
jmp 0x140064566
sub r12d, r13d
js 0x14006440f
mov r10, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0xc8]
movsxd rbx, dword [rsp + 0x7c]
movsxd r15, dword [rsp + 0x68]
lea ecx, [r12 + 1]
movzx edi, di
sub r14, rcx
add rdi, rsi
xor esi, esi
mov qword [rsp + 0xe0], r14
lea r14d, [rsi + 0xd]
cmp ebx, esi
jle 0x1400644ed
mov rax, r8
cqo
idiv rbx
cmp rdx, rsi
jne 0x1400644ed
cmp r8, rsi
jle 0x1400644bc
mov word [r10], r14w
mov rax, qword [rsp + 0x1d8]
mov ecx, 0xa
add rax, 2
mov qword [rsp + 0x1d8], rax
mov word [rax], cx
mov r10, qword [rsp + 0x1d8]
add r10, 2
mov qword [rsp + 0x1d8], r10
cmp r15d, esi
je 0x1400644ed
mov r8d, dword [rsp + 0x64]
lea rdx, str._8X_s
mov r9, rbp
mov rcx, r10
call qword [sym.imp.USER32.dll_wsprintfW]
mov rax, qword [rsp + 0x1d8]
lea r10, [rax + r15*2]
mov qword [rsp + 0x1d8], r10
movzx r8d, byte [rdi]
lea rdx, str.0x_02X
mov rcx, r10
call qword [sym.imp.USER32.dll_wsprintfW]
mov r10, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0xc8]
add dword [rsp + 0x64], r13d
add r10, 0xa
add r8, r13
add rdi, r13
sub r12d, r13d
mov qword [rsp + 0x1d8], r10
mov qword [rsp + 0xc8], r8
jns 0x140064472
mov rbx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xa0]
jmp 0x140064417
mov r10, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0xa0]
cmp r10, rdi
je 0x14006458f
cmp byte [rsp + 0x50], sil
je 0x14006457f
mov byte [rax], sil
jmp 0x14006458f
sub r10, 2
mov qword [rsp + 0x1d8], r10
mov word [r10], si
cmp byte [rsp + 0x50], sil
je 0x1400645af
mov ecx, eax
xor edx, edx
sub ecx, edi
lea r8d, [rdx + 4]
mov dword [rsp + 0xd8], ecx
mov rcx, rax
call fcn.1400b93b0
lea rcx, [rsp + 0x98]
call fcn.140044f24
jmp 0x1400645f2
cmp rsi, r8
jge 0x1400645db
lea rdx, str.0xFFFFFFFF
lea rcx, [rsp + 0x58]
call fcn.1400589a0
mov rdi, qword [rsp + 0x58]
jmp 0x1400645eb
mov rdi, qword [rsp + 0x58]
mov rdx, rsi
mov rcx, rdi
call fcn.1400a9350
mov dword [rsp + 0x78], r13d
xor esi, esi
mov eax, dword [rsp + 0xd8]
cmp eax, esi
jge 0x140064617
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x1d0]
mov r8, rdi
call fcn.14004b578
jmp 0x140064641
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x58]
mov byte [rsp + 0x28], r13b
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x1d0]
mov r9d, eax
mov r8, rdi
call fcn.14005e494
cmp rbx, rsi
je 0x140064654
cmp rbx, r15
je 0x140064654
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x90]
call fcn.140044f24
lea rcx, [rsp + 0x58]
call fcn.140044f24
lea rcx, [rsp + 0xa8]
call fcn.140044f24
mov r13d, dword [rsp + 0x78]
lea rcx, [rsp + 0x100]
call fcn.140044f24
lea rcx, [rsp + 0xd0]
call fcn.140044f24
lea rcx, [rsp + 0xf0]
call fcn.140044f24
lea rcx, [rsp + 0xc0]
call fcn.140044f24
lea rcx, [rsp + 0x80]
call fcn.140044f24
lea rcx, [rsp + 0xf8]
call fcn.140044f24
lea rcx, [rsp + 0x70]
call fcn.140044f24
lea rcx, [rsp + 0x118]
call fcn.140044f24
mov rbx, qword [rsp + 0x1e0]
mov eax, r13d
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret