Function at 0x180049170
Capabilities:
Get file size

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x270
mov rax, qword [0x1800f7050]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
je 0x180049424
cmp word [rdx], 0
je 0x180049424
mov qword [rsp + 0x2a8], rbp
call fcn.18004e940
xor ebp, ebp
lea rcx, [rbx + 0x38]
xor edx, edx
mov r8d, 0x324
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x30], ebp
call fcn.1800644c0
lea rcx, [rsp + 0x52]
xor edx, edx
mov r8d, 0x206
mov dword [rbx + 0x35c], ebp
mov word [rsp + 0x50], bp
call fcn.1800644c0
lea r8, [rsp + 0x50]
mov rdx, rdi
mov rcx, rbx
call fcn.18004c640
test eax, eax
js 0x18004921d
cmp eax, 1
je 0x18004921d
mov eax, dword [rbx + 0x30]
cmp eax, 0xa
jne 0x180049240
lea rdx, [rsp + 0x50]
mov r8, rsi
mov rcx, rbx
call fcn.180049430
mov rbp, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.180062100
add rsp, 0x270
pop rdi
pop rsi
pop rbx
ret
cmp eax, 5
jne 0x180049289
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x20], 0x930
mov dword [rbx + 0x370], 0x930
cmp dword [rbx + 0x360], ebp
je 0x18004926b
mov rcx, rbx
call fcn.18004d300
jmp 0x18004921d
cmp dword [rbx + 0x35c], ebp
jne 0x18004927a
mov eax, 0x80004005
jmp 0x18004921d
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.18004d200
jmp 0x18004921d
cmp eax, 6
jne 0x1800492c9
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x20], 0x930
mov dword [rbx + 0x370], 0x930
cmp dword [rbx + 0x360], ebp
je 0x1800492b7
mov rcx, rbx
call fcn.18004d900
jmp 0x18004921d
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.18004d700
jmp 0x18004921d
cmp eax, 7
jne 0x180049309
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x20], 0x930
mov dword [rbx + 0x370], 0x930
cmp dword [rbx + 0x360], ebp
je 0x1800492f7
mov rcx, rbx
call fcn.18004df40
jmp 0x18004921d
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.18004dd80
jmp 0x18004921d
cmp dword [rbx + 0x360], ebp
je 0x180049345
cmp eax, 8
jne 0x18004933b
mov rcx, rbx
mov dword [rbx + 0x2c], 0x2c
mov dword [rbx + 0x20], 0x930
mov dword [rbx + 0x370], 0x930
call fcn.18004e590
jmp 0x18004921d
mov eax, 0xe0032004
jmp 0x18004921d
xor r9d, r9d
mov qword [rsp + 0x30], rbp
lea rcx, [rsp + 0x50]
lea r8d, [r9 + 1]
mov edx, 0x80000000
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, rax
mov qword [rbx + 0x18], rax
cmp rax, 0xffffffffffffffff
je 0x1800493c8
mov eax, dword [rbx + 0x30]
cmp eax, 2
je 0x1800493a0
cmp eax, 1
jne 0x1800493b9
mov rcx, rbx
call fcn.18004b870
test eax, eax
js 0x18004921d
cmp eax, 1
je 0x18004921d
cmp dword [rbx + 0x34], ebp
je 0x1800493ac
xor eax, eax
jmp 0x18004921d
mov rcx, rbx
call fcn.18004acd0
jmp 0x18004921d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x1800493d2
call fcn.1800030e0
jmp 0x18004921d
cmp dword [rbx + 0x35c], ebp
je 0x180049407
cmp dword [rbx + 0x30], 8
jne 0x1800493fa
mov rdx, qword [rsp + 0x40]
mov dword [rbx + 0x370], 0x930
sub rdx, 0x2c
mov qword [rsp + 0x40], rdx
jmp 0x1800493ff
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.18004c160
mov rax, qword [rsp + 0x40]
mov rdx, qword [rbx + 0x18]
mov rcx, rbx
mov qword [rbx + 0x368], rax
call fcn.18004ce80
jmp 0x18004921d
mov eax, 0x80070057
jmp 0x180049225