Function at 0x14001c0d0
Capabilities:
Get file size
Read file via mapping

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x108]
sub rsp, 0x208
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov rax, qword [0x140040010]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rdi, r9
mov rsi, r8
mov r14, rdx
mov rbx, rcx
movdqa xmm0, xmmword [0x140031d00]
movdqa xmmword [rbp + 0x80], xmm0
xor r15d, r15d
mov word [rbp + 0x70], r15w
movdqa xmmword [rbp + 0xa0], xmm0
mov word [rbp + 0x90], r15w
mov qword [rsp + 0x50], r15
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
movdqu xmmword [rbp + 0xc0], xmm0
mov word [rbp + 0xb0], r15w
lea rcx, [rbp - 0x80]
call fcn.14001b8b4
test r14, r14
je 0x14001c5d5
test rsi, rsi
je 0x14001c5d5
test rdi, rdi
je 0x14001c5d5
cmp qword [rbx + 0x18], rsi
je 0x14001c1b3
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140015478
mov rax, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x18], rax
test rcx, rcx
je 0x14001c1b3
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140008ad6.0]
nop
cmp qword [rbx + 0x20], rdi
je 0x14001c1e6
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.140015478
mov rax, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x20]
mov qword [rbx + 0x20], rax
test rcx, rcx
je 0x14001c1e6
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140008ad6.0]
nop
lea r8, [rbx + 0x28]
mov dword [r8], 0x80
mov rax, qword [rdi]
lea rdx, [rbx + 0xa8]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x140008ad6.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x70]
call qword [case.0x140008ad6.0]
test eax, eax
jns 0x14001c293
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0xd0], rax
test rax, rax
je 0x14001c5d5
mov dword [rsp + 0x64], 0x2a
mov dword [rsp + 0x60], 0x10004
mov rax, qword [rsi]
lea rdx, [rsp + 0x60]
mov rcx, rsi
mov rax, qword [rax + 0x18]
call qword [case.0x140008ad6.0]
test eax, eax
js 0x14001c5d5
mov edx, 0xbb8
mov rcx, qword [rbx + 0xd0]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x14001c5d5
cmp qword [rbx + 0xc8], r15
je 0x14001c5d5
mov rax, qword [r14]
lea rdx, [rsp + 0x50]
mov rcx, r14
mov rax, qword [rax + 0x38]
call qword [case.0x140008ad6.0]
mov rdx, qword [rsp + 0x50]
lea rcx, [rbp + 0xd0]
call fcn.14001b99c
mov rdi, rax
lea rcx, [rbp - 0x70]
call fcn.14001c864
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x14001c2d3
mov rdi, qword [rdi]
mov r9d, dword [rbp]
mov rdx, rdi
lea rcx, [rbp - 0x70]
call fcn.14001c784
lea rcx, [rbp + 0xd0]
call fcn.1400066d4
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x80]
call fcn.14001b650
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0xb0]
mov rcx, qword [rbx + 0xc8]
call fcn.14001fb3c
test eax, eax
js 0x14001c5d5
lea rcx, [rbp + 0x70]
cmp qword [rbp + 0x88], 8
cmovae rcx, qword [rbp + 0x70]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x14001c5d5
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rbx + 0xb0], eax
mov dword [rbx + 0xac], r15d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rbx + 0xb8], rax
cmp rax, 0xffffffffffffffff
jne 0x14001c3ad
mov edi, 0x80004005
jmp 0x14001c5c8
test rax, rax
je 0x14001c3a3
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbx + 0xc0], rax
test rax, rax
je 0x14001c3a3
mov edi, r15d
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
lea rax, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rax, qword [rbp + 0x90]
mov edx, 9
cmp qword [rbp + 0xa0], rdx
jne 0x14001c442
lea rcx, str.font_woff
movzx r8d, word [rax]
lea r9d, [rdx + 0x5d]
cmp r8w, r9w
jb 0x14001c442
sub rax, rcx
cmp r8w, r9w
ja 0x14001c442
cmp rdx, 1
je 0x14001c4a2
dec rdx
add rcx, 2
movzx r8d, word [rcx + rax]
movzx r9d, word [rcx]
cmp r8w, r9w
jae 0x14001c424
lea rax, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rax, qword [rbp + 0x90]
mov r9d, reloc.OLEAUT32.dll_SafeArrayUnlock
cmp qword [rbp + 0xa0], r9
jne 0x14001c4a9
lea rcx, str.application_font_woff
movzx edx, word [rax]
lea r8d, [r9 + 0x4c]
cmp dx, r8w
jb 0x14001c4a9
sub rax, rcx
cmp dx, r8w
ja 0x14001c4a9
cmp r9, 1
je 0x14001c4a2
dec r9
add rcx, 2
movzx edx, word [rcx + rax]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x14001c483
jmp 0x14001c4a9
mov byte [rbx + 0xd9], 1
mov rcx, qword [rbx + 0x18]
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
lea rdx, [0x14002d9a0]
mov rax, qword [rax]
call qword [case.0x140008ad6.0]
nop
test eax, eax
js 0x14001c528
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r9, [rsp + 0x48]
lea r8, [0x14002fa08]
lea rdx, [0x14002f5d8]
mov rax, qword [rax + 0x18]
call qword [case.0x140008ad6.0]
test eax, eax
js 0x14001c528
mov qword [rsp + 0x58], r15
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x20], rdx
lea r9, [0x14002fb10]
lea r8, str.HTTP_1.1_200_OK
mov edx, 0xc8
mov rax, qword [rax + 0x20]
call qword [case.0x140008ad6.0]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14001c540
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140008ad6.0]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14001c558
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140008ad6.0]
nop
mov rax, qword [rsi]
lea r8, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae r8, qword [rbp + 0x90]
mov edx, reloc.OLEAUT32.dll_SafeArrayAccessData
mov rcx, rsi
mov rax, qword [rax + 0x20]
call qword [case.0x140008ad6.0]
mov rax, qword [rsi]
lea r8, [rbp + 0x70]
cmp qword [rbp + 0x88], 8
cmovae r8, qword [rbp + 0x70]
mov edx, SafeArrayGetDim
mov rcx, rsi
mov rax, qword [rax + 0x20]
call qword [case.0x140008ad6.0]
mov rax, qword [rsi]
mov r9d, dword [rbx + 0xb0]
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rsi
mov rax, qword [rax + 0x28]
call qword [case.0x140008ad6.0]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
jns 0x14001c5da
mov edi, 0x800c0011
lea rcx, [rbp - 0x80]
call fcn.14001bb68
lea rcx, [rbp + 0xb0]
call fcn.1400066d4
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rbp + 0x70]
call fcn.14001ba94
mov eax, edi
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140009850
add rsp, 0x208
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret