Function at 0x140014790
Capabilities:
Get file size

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x1b8], rbx
mov rax, qword [0x14003c008]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rsi, r8
mov qword [rsp + 0x48], r8
mov rbx, rdx
mov qword [rsp + 0x50], rdx
mov r12, rcx
mov qword [rsp + 0x40], rcx
mov ecx, 0xf
mov dword [rbp - 0x60], 0x4000f
lea r14d, [rcx - 0xb]
mov dword [rbp - 0x5c], 0x100009
lea edi, [rcx + 1]
mov eax, 0x38
mov word [rbp - 0x58], ax
mov dword [0x140041aa0], 0x800
xor r13d, r13d
mov word [0x14003e1b4], r13w
mov word [0x14003e1b0], r13w
mov word [0x14003e16c], r13w
mov word [0x14003e170], cx
mov word [0x14003e174], r13w
lea r8, str.Converting
lea rdx, [0x14003e1d0]
mov al, 0x43
lea r13, [0x1400307e0]
mov r9, qword [0x14003d328]
cmp al, 0x20
jae 0x140014863
movzx eax, al
movzx ecx, word [r13 + rax*2]
jmp 0x140014878
cmp al, 0x80
jae 0x14001486c
movzx ecx, al
jmp 0x140014878
movzx eax, al
movzx ecx, word [r9 + rax*2 - 0x100]
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140014854
xor r13d, r13d
mov word [rdx], r13w
xor r8d, r8d
xor ecx, ecx
lea rdx, [0x14003e1d0]
call qword [0x140041ab0]
test ax, ax
je 0x1400148b2
mov eax, 6
jmp 0x140014fa9
mov ecx, 0x110
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [0x1400401d8], rax
test rax, rax
jne 0x1400148d2
movzx eax, r14w
jmp 0x140014fa9
mov ecx, dword [0x140041aa0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400148c9
mov rdx, rbx
call fcn.140004050
mov word [0x1400402e4], ax
mov dword [r15], 0x20
mov rdx, r15
call fcn.1400041b0
mov rcx, r13
lea r13, str.tmpcap.hlp
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r13]
mov byte [rbp + rcx - 0x50], al
lea rcx, [rcx + 1]
test al, al
jne 0x140014920
mov rcx, rdi
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
mov r13d, 0
je 0x140014981
mov word [rax], r13w
mov qword [rax + 8], r13
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x140014984
inc eax
movsxd rcx, eax
call qword [sym.imp.mfc140u.dll_operator_1]
mov qword [rbx + 8], rax
lea rdx, [rbp - 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x140014984
mov rbx, r13
mov edx, 0xa
mov rcx, rbx
call fcn.14002a380
mov rdi, rax
test rax, rax
jne 0x1400149a3
mov eax, 2
jmp 0x140014fa9
test rbx, rbx
je 0x1400149c4
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400149b7
call qword [sym.imp.mfc140u.dll_operator]
mov edx, 0x10
mov rcx, rbx
call fcn.14002c9cc
xor edx, edx
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [0x14003e168], eax
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.14002a520
cmp eax, 0xffffffff
jne 0x1400149f2
mov eax, 1
jmp 0x140014fa9
mov word [0x14003e1c0], r13w
mov word [0x14003e1bc], r13w
cmp dword [0x14003e168], 0
jne 0x140014a15
mov eax, 3
jmp 0x140014fa9
mov rdx, rdi
mov rcx, r12
call fcn.14000b310
test ax, ax
je 0x140014a42
cwde
cmp eax, 0xfffffffc
je 0x1400148a8
cmp eax, 0xfffffffe
je 0x140014999
cmp eax, 0xffffffff
je 0x1400149e8
jmp 0x1400148c9
mov rcx, rdi
call fcn.14002a1e0
mov dword [rsi], r13d
mov r14d, 1
mov word [0x14003e1b4], r14w
mov word [0x14003e1b0], r13w
mov r10d, 0xf
mov word [0x14003e16c], r10w
mov eax, 4
mov word [0x14003e170], ax
mov word [0x14003e174], r10w
lea r8, str.Sorting
lea rbx, [0x14003e1d0]
mov rdx, rbx
mov al, 0x53
mov r9, qword [0x14003d328]
lea r13, [0x1400307e0]
cmp al, 0x20
jae 0x140014ab5
movzx eax, al
movzx ecx, word [r13 + rax*2]
jmp 0x140014aca
cmp al, 0x80
jae 0x140014abe
movzx ecx, al
jmp 0x140014aca
movzx eax, al
movzx ecx, word [r9 + rax*2 - 0x100]
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140014aa6
xor r13d, r13d
mov word [rdx], r13w
xor r8d, r8d
mov ecx, r10d
mov rdx, rbx
call qword [0x140041ab0]
test ax, ax
jne 0x1400148a8
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
lea rdx, str.tmpcap.unq
lea rcx, str.tmpcap.hlp
call fcn.140029640
test eax, eax
jne 0x140014a0b
lea rcx, str.tmpcap.hlp
call fcn.14001ae30
cmp dword [0x14003e168], r13d
je 0x140014a0b
mov word [0x14003f7f8], r14w
lea r8, [rsp + 0x78]
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.140028810
test eax, eax
je 0x140014b7a
cmp word [0x14003f7f8], 0xffff
jne 0x140014a0b
jmp 0x1400148a8
mov word [0x14003f7f8], r13w
lea rcx, str.tmpcap.hlp
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__unlink]
mov r13d, 2
mov word [0x14003e1b4], r13w
xor esi, esi
mov word [0x14003e1b0], si
movzx r9d, si
lea rax, [rbp - 0x60]
mov ecx, r13d
add r9w, word [rax]
lea rax, [rax + 2]
sub rcx, r14
jne 0x140014bb1
mov word [0x14003e16c], r9w
mov eax, 9
mov word [0x14003e170], ax
mov word [0x14003e174], r9w
lea r8, str.Extracting
mov rdx, rbx
mov al, 0x45
mov r10, qword [0x14003d328]
lea r11, [0x1400307e0]
cmp al, 0x20
jae 0x140014c02
movzx eax, al
movzx ecx, word [r11 + rax*2]
jmp 0x140014c17
cmp al, 0x80
jae 0x140014c0b
movzx ecx, al
jmp 0x140014c17
movzx eax, al
movzx ecx, word [r10 + rax*2 - 0x100]
mov word [rdx], cx
add rdx, r13
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140014bf4
mov word [rdx], si
xor r8d, r8d
mov rdx, rbx
movzx ecx, r9w
call qword [0x140041ab0]
test ax, ax
jne 0x1400148a8
lea rdi, [0x140041a20]
mov rax, rdi
mov ecx, esi
cmp byte [rax], sil
jne 0x140014c5b
cmp byte [rax + 1], sil
je 0x140014c62
add rax, r13
inc ecx
jmp 0x140014c50
add cx, cx
movzx ebx, si
cmp si, cx
jge 0x140014ce9
mov rax, qword [0x1400401d8]
movzx r14d, byte [rax + 0x3d]
dec cx
shr cx, 1
inc cx
movzx esi, cx
movzx r15d, word [0x14003e1b8]
mov r12, qword [0x14003e198]
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rdi]
mov word [rsp + 0x30], ax
mov word [rsp + 0x20], r15w
mov r9, r12
movzx edx, r14b
lea rcx, [rsp + 0x30]
call fcn.140006420
movsx r9, bx
movzx eax, word [rsp + 0x30]
mov word [rbp + r9 - 0x30], ax
lea rdi, [rdi + 2]
inc bx
sub rsi, 1
jne 0x140014ca0
lea r14d, [rsi + 1]
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.140006560
test ax, ax
jns 0x140014d06
cmp ax, 0xffff
je 0x140014edc
jmp 0x140014a0b
mov word [0x1400400c8], ax
mov rcx, rsi
lea rdx, str.tmpcap.unq
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
mov byte [rbp + rcx - 0x50], al
lea rcx, [rcx + 1]
test al, al
jne 0x140014d20
lea rcx, [rbp - 0x50]
call fcn.14002a700
mov rsi, rax
mov ebx, 3
mov edx, ebx
mov rcx, rax
call fcn.14002a380
mov rdi, rax
test rax, rax
jne 0x140014d5b
or eax, 0xffffffff
jmp 0x140014fa9
mov rcx, rsi
call fcn.14002a780
xor edx, edx
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [0x14003e168], eax
xor esi, esi
mov word [0x14003e1c0], si
mov word [0x14003e1bc], si
test eax, eax
jne 0x140014d90
movzx eax, bx
jmp 0x140014fa9
mov r9, r12
mov r8, qword [rsp + 0x48]
mov rdx, rdi
call fcn.140014fd0
test ax, ax
jns 0x140014db9
cwde
cmp eax, 0xfffffffc
je 0x1400148a8
cmp eax, 0xffffffff
je 0x140014d88
jmp 0x140014edc
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call fcn.14002a1e0
lea rax, str.tmpcap.unq
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__unlink]
cmp word [0x1400419e0], si
je 0x140014f61
mov word [0x14003e1b4], bx
mov word [0x14003e1b0], si
movzx r9d, si
lea rax, [rbp - 0x60]
mov rcx, rbx
add r9w, word [rax]
lea rax, [rax + 2]
sub rcx, 1
jne 0x140014e00
mov word [0x14003e16c], r9w
mov eax, 0x10
mov word [0x14003e170], ax
mov word [0x14003e174], r9w
lea r8, str.Compressing
lea rdx, [0x14003e1d0]
mov al, 0x43
mov r10, qword [0x14003d328]
lea rsi, [0x1400307e0]
cmp al, 0x20
jae 0x140014e55
movzx eax, al
movzx ecx, word [rsi + rax*2]
jmp 0x140014e6a
cmp al, 0x80
jae 0x140014e5e
movzx ecx, al
jmp 0x140014e6a
movzx eax, al
movzx ecx, word [r10 + rax*2 - 0x100]
mov word [rdx], cx
add rdx, r13
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140014e48
xor esi, esi
mov word [rdx], si
xor r8d, r8d
lea rdx, [0x14003e1d0]
movzx ecx, r9w
call qword [0x140041ab0]
test ax, ax
jne 0x1400148a8
lea rcx, str.tmpdic.hlp
call fcn.14001ae30
cmp dword [0x14003e168], esi
je 0x140014d88
call fcn.1400129c0
test ax, ax
je 0x140014ef9
cwde
cmp eax, 0xfffffff9
je 0x140014eef
cmp eax, 0xfffffffc
je 0x1400148a8
cmp eax, 0xfffffffe
je 0x140014ee6
cmp eax, 0xffffffff
je 0x1400148c9
mov eax, 4
jmp 0x140014fa9
movzx eax, r13w
jmp 0x140014fa9
mov eax, 7
jmp 0x140014fa9
lea rcx, str.tmpdic.hlp
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__unlink]
mov rcx, qword [0x14003e178]
test rcx, rcx
je 0x140014f1f
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x14003e178], rsi
mov rcx, qword [0x14003e180]
test rcx, rcx
je 0x140014f38
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x14003e180], rsi
mov rcx, qword [rsp + 0x50]
call fcn.140006ee0
test ax, ax
je 0x140014f58
cmp ax, 0xffff
je 0x140014d88
mov eax, 4
jmp 0x140014fa9
lea rcx, str.tmpdic.dat
jmp 0x140014f82
lea rcx, str.tmpdic.hlp
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__unlink]
lea rcx, str.hlp1.hlp
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__unlink]
lea rcx, str.hlp2.hlp
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__unlink]
call fcn.140004330
mov rcx, qword [0x1400401d8]
test rcx, rcx
je 0x140014fa6
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x1400401d8], rsi
movzx eax, si
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.14002c160
mov rbx, qword [rsp + 0x1b8]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret