Function at 0x180004ac0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov r12d, dword [rsp + 0xf0]
mov r15, r9
imul eax, r12d, 0x19a
mov rsi, r8
mov r8, rdx
mov r9, rcx
mov ebx, r12d
mov dword [rsp + 0x68], eax
cmp r12d, eax
ja 0x180004bfc
mov r14, qword [rsp + 0x78]
xor ebp, ebp
mov r13d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x100]
cmp ebx, 0x12
je 0x180004be4
cmp ebx, 0x37
je 0x180004bd5
cmp ebx, 0xec
je 0x180004ba1
cmp ebx, 0x11d5
je 0x180004c52
cmp ebx, 0x4c84
jne 0x180004fad
mov r9, qword [r8]
mov edx, 1
mov rbp, qword [rsp + 0xf8]
mov rcx, rdi
mov r9, qword [r9 + 0x18]
movsxd r8, dword [rbp]
call fcn.18007c8f8
mov rcx, rax
movsxd rax, dword [rbp]
cmp rcx, rax
je 0x180004fa3
mov rax, qword [r15]
mov rcx, qword [rax]
mov dword [rcx + 0x28], 0x40
mov rcx, qword [r15]
mov rax, qword [rcx]
call qword [rax]
jmp 0x180004fa3
mov rcx, qword [r8]
xor r8d, r8d
mov edx, dword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.180077d54
test eax, eax
je 0x180004fa5
mov rax, qword [r15]
mov rcx, qword [rax]
mov dword [rcx + 0x28], 0x41
mov rcx, qword [r15]
mov rax, qword [rcx]
call qword [rax]
jmp 0x180004fa5
mov rax, qword [r15]
mov r14, qword [rax + 0x1f8]
jmp 0x180004fad
mov ebx, 0x7f
nop dword [rax]
mov eax, ebx
sub eax, 0x7f
je 0x180004c1c
cmp eax, 1
jne 0x180004c38
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xe8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [r15]
xor edx, edx
mov r8d, 0x104
mov rax, qword [rcx + 8]
call qword [rax]
mov qword [rsp + 0x78], rax
mov dword [rax + 0x100], ebp
inc ebx
cmp ebx, 0x81
jb 0x180004bf0
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
mov rcx, qword [r15]
mov rbp, qword [rsp + 0x108]
mov edx, dword [rcx + 0x174]
lea ecx, [rdx + rdx*2]
mov dword [rsp + 0x64], ecx
mov ecx, dword [rbp]
cmp dword [rsi], ecx
jae 0x180004f9e
nop word [rax + rax]
mov rdx, qword [rsp + 0x100]
mov eax, dword [r9]
cmp dword [rdx], eax
jae 0x180004e83
mov r12d, 0x116
nop dword [rax]
mov eax, r12d
sub eax, 0x116
je 0x180004e75
sub eax, 1
je 0x180004e68
sub eax, 1
je 0x180004cd5
cmp eax, 1
jne 0x180004ddb
add dword [rdx], r13d
add dword [r14 + 0x64], r13d
sub dword [r14 + 0x60], r13d
jmp 0x180004ddb
mov eax, dword [rsp + 0x60]
lea rsi, [r14 + 0x10]
mov rcx, qword [r15]
cmp r13d, eax
mov edx, dword [rdx]
mov r9d, dword [r14 + 0x64]
cmovb eax, r13d
mov r13d, eax
mov rax, qword [r8]
mov r10, qword [rcx + 0x210]
mov r8, rsi
mov dword [rsp + 0x20], r13d
lea rdx, [rax + rdx*8]
call qword [r10 + OleUIPromptUserA]
mov rdx, qword [r15]
mov eax, dword [rdx + 0x34]
cmp dword [r14 + 0x60], eax
jne 0x180004dcb
xor ebp, ebp
cmp dword [rdx + 0x4c], ebp
jle 0x180004dcb
mov rcx, rdx
nop dword [rax + rax]
mov edi, 1
mov rax, rcx
cmp dword [rcx + 0x174], edi
jl 0x180004db9
mov dword [rsp + 0x48], edi
mov ebx, 0xffffffff
mov dword [rsp + 0x58], 0
mov eax, dword [rdx + 0x30]
lea r9, [rsp + 0x48]
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x50]
mov rax, qword [rsi]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x70], rax
mov r8d, 0x5b
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], ebx
call fcn.1800053c0
mov rdx, qword [r15]
inc edi
dec ebx
cmp edi, dword [rdx + 0x174]
jle 0x180004d51
mov rax, rdx
inc ebp
add rsi, 8
mov rcx, rax
cmp ebp, dword [rax + 0x4c]
jl 0x180004d30
mov rdx, qword [rsp + 0x100]
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
inc r12d
cmp r12d, 0x11a
jb 0x180004ca0
mov ecx, dword [r14 + 0x64]
mov eax, dword [r14 + 0x6c]
cmp ecx, eax
mov rsi, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0x108]
mov dword [rsp + 0x40], r13d
jne 0x180004f73
xor r12d, r12d
mov r13d, dword [rsp + 0x64]
mov ebx, 0x16
cmp ebx, 0x16
je 0x180004f26
cmp ebx, 0xaea
je 0x180004f1a
cmp ebx, 0x15be
je 0x180004f0e
cmp ebx, 0x2092
jne 0x180004f5c
mov rax, qword [r15]
mov ecx, dword [rax + 0x174]
add ecx, dword [r14 + 0x64]
mov dword [r14 + 0x6c], ecx
jmp 0x180004f5c
mov r13d, dword [r14 + 0x6c]
sub r13d, dword [r14 + 0x64]
jmp 0x180004ddb
mov ebx, dword [r9]
sub ebx, dword [rdx]
mov dword [rsp + 0x60], ebx
jmp 0x180004ddb
cmp dword [r14 + 0x60], 0
jne 0x180004f8e
mov ecx, dword [r14 + 0x64]
mov eax, dword [r14 + 0x6c]
cmp ecx, eax
jge 0x180004e12
mov rcx, qword [r15]
xor r12d, r12d
mov edi, r12d
cmp dword [rcx + 0x4c], r12d
jle 0x180004f05
lea rbx, [r14 + 0x10]
mov eax, dword [r14 + 0x6c]
lea r9, [rsp + 0x50]
mov dword [rsp + 0x50], eax
lea r8, [rsp + 0x48]
mov eax, dword [r14 + 0x64]
mov edx, 0x4e
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x30]
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x58], eax
mov rax, qword [rbx]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.180015150
mov rcx, qword [r15]
lea rbx, [rbx + 8]
inc edi
cmp edi, dword [rcx + 0x4c]
jl 0x180004eb1
mov eax, dword [r14 + 0x6c]
mov dword [r14 + 0x64], eax
jmp 0x180004e1b
cmp dword [r14 + 0x64], r13d
jl 0x180004f5c
mov dword [r14 + 0x64], r12d
jmp 0x180004f5c
cmp dword [r14 + 0x68], r13d
jl 0x180004f5c
mov dword [r14 + 0x68], r12d
jmp 0x180004f5c
mov eax, dword [rsi]
lea rdx, [r14 + 0x10]
mov rcx, qword [r15]
mov r8d, dword [r14 + 0x68]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xf8]
mov r10, qword [rcx + 0x218]
mov r9, qword [rax]
call qword [r10 + OleUIPromptUserA]
inc dword [rsi]
mov rax, qword [r15]
mov ecx, dword [rax + 0x174]
add dword [r14 + 0x68], ecx
add ebx, 0xad4
cmp ebx, 0x2b50
jbe 0x180004e25
mov r13d, dword [rsp + 0x40]
mov eax, dword [rbp]
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
cmp dword [rsi], eax
jb 0x180004c80
mov rdi, qword [rsp + 0x100]
mov r12d, dword [rsp + 0xf0]
mov ebx, 0x11d5
xor ebp, ebp
mov r8, qword [rsp + 0xd8]
imul eax, r12d, 0x52
add ebx, eax
cmp ebx, dword [rsp + 0x68]
ja 0x180004bfc
mov r9, qword [rsp + 0xd0]
jmp 0x180004b25