Function at 0x140056140
Capabilities:
Get file size

Disassembly:
push rbx
push rdi
sub rsp, 0x48
xor edi, edi
mov rbx, rcx
mov qword [rcx + 0x440], rdi
cmp byte [rcx + 0x2c0], dil
je 0x140056167
add rsp, 0x48
pop rdi
pop rbx
jmp fcn.140024a80
mov rdx, qword [rcx + 0x290]
xor r9d, r9d
mov rcx, qword [rcx + 0x70]
xor r8d, r8d
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x40], r15
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rax, qword [rbx + 0x2d0]
mov ecx, dword [rbx + 0x2c8]
mov qword [rbx + 0x2d8], rax
cmp ecx, 0x34616d69
jne 0x1400561de
mov r8d, dword [rbx + 0x20]
lea rcx, [rbx + 0x2e0]
mov edx, 4
mov byte [rbx + 0x3ec], 1
call fcn.14003d8e0
mov eax, dword [rbx + 0x2c]
xor edx, edx
div dword [rbx + 0x418]
mov esi, eax
imul esi, dword [rbx + 0x408]
jmp 0x1400564f6
cmp ecx, 0x6134706d
je 0x1400563f7
cmp ecx, 0x20636161
je 0x1400563f7
cmp ecx, 0x3343414d
je 0x1400563ae
cmp ecx, 0x3643414d
je 0x1400563b6
cmp ecx, 0x63616c61
je 0x140056232
cmp ecx, 0x31706d2e
je 0x140056232
cmp ecx, 0x32706d2e
je 0x140056232
cmp ecx, 0x33706d2e
jne 0x14005653d
mov rdx, qword [rbx + 0x410]
test rdx, rdx
je 0x14005626a
mov r9, qword [rbx + 0x400]
mov esi, edi
mov r8d, edi
test r9, r9
jle 0x140056270
nop
mov eax, dword [rdx]
lea rdx, [rdx + 4]
cmp eax, esi
cmovbe eax, esi
inc r8d
mov esi, eax
movsxd rax, r8d
cmp rax, r9
jl 0x140056250
jmp 0x140056270
mov esi, dword [rbx + 0x408]
cmp ecx, 0x63616c61
jne 0x140056318
mov rbp, qword [rbx + 0x3f0]
test rbp, rbp
jne 0x140056292
mov eax, 0x8004020d
jmp 0x14005654d
mov r15d, dword [rbp + 4]
mov qword [rsp + 0x70], r14
mov r14, qword [rbx + 0x2e0]
bswap r15d
test r14, r14
je 0x1400562bf
mov rcx, r14
call fcn.14002c380
mov edx, 0x40
mov rcx, r14
call fcn.1400b6094
mov ecx, 0x40
call fcn.1400b6058
mov r14, qword [rsp + 0x70]
test rax, rax
je 0x140056541
movzx ecx, byte [rbp + 0xc]
mov edx, r15d
movzx r9d, byte [rbp + 9]
mov r8d, dword [rbx + 0x20]
mov byte [rsp + 0x30], cl
movzx ecx, byte [rbp + 0xb]
mov byte [rsp + 0x28], cl
movzx ecx, byte [rbp + 0xa]
mov byte [rsp + 0x20], cl
mov rcx, rax
call fcn.14002c210
mov qword [rbx + 0x2e0], rax
test rax, rax
jne 0x1400564f6
jmp 0x140056548
mov rcx, qword [rbx + 0x2e0]
test rcx, rcx
je 0x14005632e
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x38
call fcn.1400b6058
test rax, rax
je 0x140056541
mov rcx, rax
call fcn.140044b90
mov qword [rbx + 0x2e0], rax
test rax, rax
je 0x140056548
mov rcx, qword [rbx + 0x2e8]
test rcx, rcx
je 0x14005636f
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x9600
call fcn.1400b6058
test rax, rax
je 0x1400563a2
mov rdx, qword [rbx + 0x2e0]
mov rcx, rax
call fcn.14003f2a0
mov qword [rbx + 0x2e8], rax
test rax, rax
jne 0x1400564f6
jmp 0x140056548
mov qword [rbx + 0x2e8], rdi
jmp 0x140056548
cmp ecx, 0x3643414d
jne 0x1400563c9
xorps xmm0, xmm0
movups xmmword [rbx + 0x2e0], xmm0
movups xmmword [rbx + 0x2f0], xmm0
jmp 0x1400563d2
xor eax, eax
mov qword [rbx + 0x2e0], rax
cmp ecx, 0x3643414d
mov esi, edi
mov eax, 0xaaaaaaab
setne sil
mul dword [rbx + 0x2c]
inc esi
shr edx, 2
imul esi, edx
imul esi, dword [rbx + 0x20]
jmp 0x1400564f6
mov rsi, qword [rbx + 0x2e0]
test rsi, rsi
je 0x140056418
mov rcx, rsi
call fcn.14003e0c0
mov edx, 0x60
mov rcx, rsi
call fcn.1400b6094
mov ecx, 0x60
call fcn.1400b6058
test rax, rax
je 0x140056541
mov rcx, rax
call fcn.14003e010
mov qword [rbx + 0x2e0], rax
mov rcx, rax
test rax, rax
je 0x140056548
mov rdx, qword [rbx + 0x3f0]
test rdx, rdx
je 0x140056481
mov r8d, dword [rbx + 0x3f8]
test r8d, r8d
je 0x140056481
mov eax, 0x20
cmp r8d, eax
cmovb eax, r8d
mov r8d, eax
mov dword [rcx + 0x5c], r8d
add rcx, 0x3c
call fcn.1400b9e30
mov rax, qword [rbx + 0x2e0]
mov edx, dword [rbx + 0x20]
mov rcx, rax
call fcn.14003e0f0
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x14005654d
mov rdx, qword [rbx + 0x410]
mov qword [rbx + 0x2e8], rdi
test rdx, rdx
je 0x1400564da
mov r9, qword [rbx + 0x400]
mov r8d, edi
test r9, r9
jle 0x1400564e0
nop dword [rax + rax]
mov ecx, dword [rdx]
lea rdx, [rdx + 4]
cmp ecx, edi
cmovbe ecx, edi
inc r8d
movsxd rax, r8d
mov edi, ecx
cmp rax, r9
jl 0x1400564c0
jmp 0x1400564e0
mov edi, dword [rbx + 0x408]
mov eax, dword [rbx + 0x418]
lea esi, [rdi + rdi]
mov ecx, 0x400
cmp eax, ecx
cmovb eax, ecx
mov dword [rbx + 0x2c], eax
test esi, esi
je 0x14005653d
mov rdi, qword [rbx + 0x2a0]
mov ecx, esi
call fcn.1400b609c
mov qword [rbx + 0x2a0], rax
test rdi, rdi
je 0x14005651c
mov rcx, rdi
call fcn.1400b60a4
cmp qword [rbx + 0x2a0], 0
je 0x140056548
mov r8d, dword [rbx + 0x2c]
lea rcx, [rbx + 0x2b0]
mov edx, dword [rbx + 0x20]
call fcn.1400265b0
test al, al
je 0x140056548
xor eax, eax
jmp 0x14005654d
mov qword [rbx + 0x2e0], rdi
mov eax, 0x80040202
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
add rsp, 0x48
pop rdi
pop rbx
ret