Function at 0x180040720
Capabilities:
Get file size

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x280
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x2b8], rbx
mov rax, qword [0x1800eb008]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
test rdx, rdx
je 0x180040ab7
cmp word [rdx], 0
je 0x180040ab7
call fcn.1800457a0
xor ebp, ebp
mov qword [rbx + 0x34], rbp
lea rcx, [rbx + 0x40]
xor edx, edx
mov r8d, 0x324
call fcn.18008c000
mov dword [rbx + 0x364], ebp
lea rcx, str.http:__
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rdx, str.http:__
mov rcx, rsi
call fcn.18009a710
test eax, eax
je 0x1800409f7
lea rcx, str.ftp:__
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rdx, str.ftp:__
mov rcx, rsi
call fcn.18009a710
test eax, eax
je 0x1800409f7
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x60]
call fcn.18008c000
lea r8, [rsp + 0x60]
mov rdx, rsi
mov rcx, rbx
call fcn.180043c60
test eax, eax
js 0x180040abc
cmp eax, 1
je 0x180040abc
mov eax, dword [rbx + 0x38]
cmp eax, 0xa
jne 0x18004082a
mov r8, rdi
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.180040ae0
jmp 0x180040abc
cmp eax, 5
jne 0x180040867
mov dword [rbx + 0x34], ebp
mov dword [rbx + 0x28], 0x930
mov dword [rbx + 0x378], 0x930
mov rcx, rbx
cmp dword [rbx + 0x368], ebp
je 0x180040858
call fcn.180044720
jmp 0x180040abc
lea rdx, [rsp + 0x60]
call fcn.180044600
jmp 0x180040abc
cmp eax, 6
jne 0x1800408a4
mov dword [rbx + 0x34], ebp
mov dword [rbx + 0x28], 0x930
mov dword [rbx + 0x378], 0x930
mov rcx, rbx
cmp dword [rbx + 0x368], ebp
je 0x180040895
call fcn.180044c90
jmp 0x180040abc
lea rdx, [rsp + 0x60]
call fcn.180044aa0
jmp 0x180040abc
cmp eax, 7
jne 0x1800408e1
mov dword [rbx + 0x34], ebp
mov dword [rbx + 0x28], 0x930
mov dword [rbx + 0x378], 0x930
mov rcx, rbx
cmp dword [rbx + 0x368], ebp
je 0x1800408d2
call fcn.180045030
jmp 0x180040abc
lea rdx, [rsp + 0x60]
call fcn.180044ec0
jmp 0x180040abc
cmp dword [rbx + 0x368], ebp
je 0x18004091d
cmp eax, 8
jne 0x180040913
mov dword [rbx + 0x34], 0x2c
mov dword [rbx + 0x28], 0x930
mov dword [rbx + 0x378], 0x930
mov rcx, rbx
call fcn.180045460
jmp 0x180040abc
mov eax, 0xe0032004
jmp 0x180040abc
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, rax
mov qword [rbx + 0x18], rax
cmp rax, 0xffffffffffffffff
jne 0x18004095c
call fcn.180002050
jmp 0x180040abc
mov eax, dword [rbx + 0x38]
cmp eax, 2
jne 0x18004097d
cmp dword [rbx + 0x3c], ebp
je 0x180040970
xor eax, eax
jmp 0x180040abc
mov rcx, rbx
call fcn.1800424a0
jmp 0x180040abc
cmp eax, 1
jne 0x18004099d
mov rcx, rbx
call fcn.180042e10
test eax, eax
js 0x180040abc
cmp eax, 1
je 0x180040abc
jmp 0x180040964
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x180040952
cmp dword [rbx + 0x364], ebp
je 0x1800409da
mov rdx, qword [rsp + 0x40]
cmp dword [rbx + 0x38], 8
jne 0x1800409d2
sub rdx, 0x2c
mov qword [rsp + 0x40], rdx
mov dword [rbx + 0x378], 0x930
mov rcx, rbx
call fcn.1800437f0
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x370], rax
mov rdx, qword [rbx + 0x18]
mov rcx, rbx
call fcn.180044360
jmp 0x180040abc
lea rdx, [0x1800ece24]
mov ecx, VarR8Pow
call fcn.180072990
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180040a3a
lea rcx, [rax + 0x10]
call fcn.1800078e0
nop
lea rcx, [rdi + 0xc8]
call fcn.180006200
mov qword [rdi], rbp
mov dword [rdi + 8], ebp
mov qword [rdi + 0x130], rbp
jmp 0x180040a3d
mov rdi, rbp
mov qword [rbx + 0x20], rdi
test rdi, rdi
jne 0x180040a4d
mov eax, 0x8007000e
jmp 0x180040abc
mov rdx, rsi
mov rcx, rdi
call fcn.18000b430
test eax, eax
js 0x180040abc
cmp eax, 1
je 0x180040abc
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 0x130]
mov qword [rbx + 0x370], rcx
mov edx, 0x2e
mov rcx, rsi
call fcn.18008bea4
test rax, rax
je 0x180040aab
lea rdx, str..nrg
mov rcx, rax
call fcn.18009aff0
test eax, eax
jne 0x180040aab
mov rcx, rbx
call fcn.180042e10
test eax, eax
jns 0x180040abc
cmp eax, 0xe003200b
jne 0x180040abc
xor edx, edx
mov rcx, rbx
call fcn.180044360
jmp 0x180040abc
mov eax, 0x80070057
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.180072920
mov rbx, qword [rsp + 0x2b8]
add rsp, 0x280
pop rdi
pop rsi
pop rbp
ret