Function at 0x140008c56
Capabilities:
Get file size

Disassembly:
jmp 0x1401362c0
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x4d8
mov rdi, rsp
mov ecx, 0x136
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x4f0]
mov rax, qword [0x1402840e8]
xor rax, rsp
mov qword [rsp + 0x4c0], rax
mov dword [rsp + 0x40], 0x800b0100
lea rax, [rsp + 0x60]
mov rdi, rax
xor eax, eax
mov ecx, 0x50
rep stosb byte [rdi], al
lea rax, [rsp + 0xd0]
mov rdi, rax
xor eax, eax
mov ecx, 0x40
rep stosb byte [rdi], al
mov dword [rsp + 0x128], 0xf750e6c3
mov eax, 0x38ee
mov word [rsp + 0x12c], ax
mov eax, 0x11d1
mov word [rsp + 0x12e], ax
mov byte [rsp + 0x130], 0x85
mov byte [rsp + 0x131], 0xe5
mov byte [rsp + 0x132], 0
mov byte [rsp + 0x133], 0xc0
mov byte [rsp + 0x134], 0x4f
mov byte [rsp + 0x135], 0xc2
mov byte [rsp + 0x136], 0x95
mov byte [rsp + 0x137], 0xee
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x158], 0
lea rax, [rsp + 0x15c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov qword [rsp + 0x168], 0
mov dword [rsp + 0x174], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov rcx, qword [rsp + 0x4f8]
call fcn.140007d4c
mov qword [rsp + 0x148], rax
cmp qword [rsp + 0x148], 0xffffffffffffffff
je 0x140136450
cmp qword [rsp + 0x148], 0
jne 0x14013645a
mov eax, 1
jmp 0x140136aad
lea rdx, [rsp + 0x158]
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140136482
cmp qword [rsp + 0x158], 0x2000000
jle 0x14013649a
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140136aad
mov dword [rsp + 0x174], 0x100
mov eax, dword [rsp + 0x174]
mov ecx, eax
call fcn.140007ce3
mov qword [rsp + 0x450], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x168], rax
xor r9d, r9d
mov r8, qword [rsp + 0x168]
lea rdx, [rsp + 0x174]
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x4f0]
call qword [rax + 8]
test eax, eax
jne 0x140136605
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x458], rax
mov rcx, qword [rsp + 0x458]
call fcn.140005be6
cmp qword [rsp + 0x458], 0
jne 0x14013652f
mov qword [rsp + 0x490], 0
jmp 0x14013654b
mov qword [rsp + 0x168], 0x8123
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x490], rax
mov eax, dword [rsp + 0x174]
mov ecx, eax
call fcn.140007ce3
mov qword [rsp + 0x460], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x168], rax
xor r9d, r9d
mov r8, qword [rsp + 0x168]
lea rdx, [rsp + 0x174]
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x4f0]
call qword [rax + 8]
test eax, eax
jne 0x140136605
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x468], rax
mov rcx, qword [rsp + 0x468]
call fcn.140005be6
cmp qword [rsp + 0x468], 0
jne 0x1401365df
mov qword [rsp + 0x498], 0
jmp 0x1401365fb
mov qword [rsp + 0x168], 0x8123
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x498], rax
mov eax, 1
jmp 0x140136aad
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x148], 0
xor r8d, r8d
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x198]
mov rax, qword [rsp + 0x4f0]
call qword [rax + 0x10]
test eax, eax
jne 0x14013669d
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x470], rax
mov rcx, qword [rsp + 0x470]
call fcn.140005be6
cmp qword [rsp + 0x470], 0
jne 0x140136677
mov qword [rsp + 0x4a0], 0
jmp 0x140136693
mov qword [rsp + 0x168], 0x8123
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x4a0], rax
mov eax, 1
jmp 0x140136aad
lea rax, [rsp + 0x1c0]
lea rcx, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
mov rdi, rax
mov rsi, rcx
mov ecx, 0x46
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x174]
lea eax, [rax + rax + 1]
mov eax, eax
mov qword [rsp + 0x4a8], rax
mov eax, 2
mov rcx, qword [rsp + 0x4a8]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140007ce3
mov qword [rsp + 0x478], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x218], 0
jmp 0x14013672a
mov rax, qword [rsp + 0x218]
inc rax
mov qword [rsp + 0x218], rax
mov eax, dword [rsp + 0x174]
cmp qword [rsp + 0x218], rax
jae 0x1401367c1
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0x168]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
sar eax, 4
cdqe
movsx ax, byte [rsp + rax + 0x1c0]
mov rcx, qword [rsp + 0x218]
shl rcx, 1
mov rdx, qword [rsp + 0x188]
mov word [rdx + rcx*2], ax
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0x168]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
and eax, 0xf
cdqe
movsx ax, byte [rsp + rax + 0x1c0]
mov rcx, qword [rsp + 0x218]
shl rcx, 1
mov rdx, qword [rsp + 0x188]
mov word [rdx + rcx*2 + 2], ax
jmp 0x140136717
mov eax, dword [rsp + 0x174]
shl eax, 1
mov eax, eax
xor ecx, ecx
mov rdx, qword [rsp + 0x188]
mov word [rdx + rax*2], cx
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, dword [rsp + 0x174]
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x4f0]
call qword [rax + 0x18]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x480], rax
mov rcx, qword [rsp + 0x480]
call fcn.140005be6
cmp qword [rsp + 0x480], 0
jne 0x140136847
mov qword [rsp + 0x4b0], 0
jmp 0x140136863
mov qword [rsp + 0x168], 0x8123
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x4b0], rax
mov qword [rsp + 0x168], 0
cmp qword [rsp + 0x1a8], 0
je 0x140136a29
lea rax, [rsp + 0x230]
mov rdi, rax
xor eax, eax
mov ecx, 0x20c
rep stosb byte [rdi], al
xor r8d, r8d
lea rdx, [rsp + 0x230]
mov rcx, qword [rsp + 0x1a8]
mov rax, qword [rsp + 0x4f0]
call qword [rax + 0x20]
test eax, eax
je 0x140136a0b
mov dword [rsp + 0xd0], 0x40
lea rax, [rsp + 0x234]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x4f8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x60], 0x50
mov dword [rsp + 0x78], 2
mov dword [rsp + 0x7c], 1
mov dword [rsp + 0x80], 2
mov dword [rsp + 0x90], 1
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x4f0]
movzx eax, byte [rax]
test eax, eax
je 0x140136966
mov eax, dword [rsp + 0xa8]
bts eax, 0xc
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0xa8]
bts eax, 9
mov dword [rsp + 0xa8], eax
jmp 0x140136977
mov eax, dword [rsp + 0xa8]
or eax, 0x10
mov dword [rsp + 0xa8], eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x128]
mov rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x4f0]
call qword [rax + 0x48]
mov dword [rsp + 0x40], eax
cmp qword [rsp + 0x500], 0
je 0x1401369e1
xor eax, eax
mov rcx, qword [rsp + 0x500]
mov word [rcx], ax
cmp dword [rsp + 0x40], 0x800b0100
je 0x1401369e1
mov r9d, dword [rsp + 0x508]
mov r8, qword [rsp + 0x500]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x4f0]
call fcn.140003062
mov dword [rsp + 0x90], 2
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x128]
mov rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x4f0]
call qword [rax + 0x48]
xor r8d, r8d
mov rdx, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x4f0]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x488], rax
mov rcx, qword [rsp + 0x488]
call fcn.140005be6
cmp qword [rsp + 0x488], 0
jne 0x140136a5f
mov qword [rsp + 0x4b8], 0
jmp 0x140136a7b
mov qword [rsp + 0x188], 0x8123
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x4b8], rax
mov qword [rsp + 0x188], 0
xor edx, edx
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x4f0]
call qword [rax + 0x30]
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x4f0]
call fcn.140004345
mov rdi, rax
mov rcx, rsp
lea rdx, [0x140229ff0]
call fcn.14000849f
mov rax, rdi
mov rcx, qword [rsp + 0x4c0]
xor rcx, rsp
call fcn.1400030d0
add rsp, 0x4d8
pop rdi
pop rsi
ret