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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x180121650]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r12, qword [rbp + 0x128]
lea eax, [r9 - 0x13]
mov dword [rsp + 0x40], eax
cmp r9d, eax
mov rax, qword [rbp - 0x80]
mov esi, r9d
mov qword [rbp + 0x58], rcx
mov r15, r8
mov dword [rsp + 0x58], r9d
lea rcx, [0x180000000]
mov qword [rbp + 0x40], r8
mov rbx, rdx
mov qword [rbp - 0x10], rdx
jbe 0x180009ef0
mov rsi, qword [rbp - 0x80]
lea r13d, [r9 - 0xbb]
mov r11, qword [rbp - 0x80]
mov edx, 0x2c
mov ecx, dword [rbp + 0x88]
mov r8, qword [rbp - 0x80]
mov r14d, dword [rbp + 0x78]
mov rdi, qword [rbp + 0x60]
lea r9d, [rdx - 0xa]
mov qword [rbp + 0x18], rax
lea r10d, [rdx + 0x4a]
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x30], rax
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x58], eax
mov eax, dword [rbp + 0x94]
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp + 0x90]
mov dword [rbp - 0x54], eax
mov eax, dword [rbp + 0x8c]
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp - 0x20], eax
mov eax, dword [rbp + 0x80]
mov dword [rbp - 4], eax
mov eax, dword [rbp + 0x7c]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x28], rsi
mov rsi, qword [rbp - 0x80]
mov qword [rbp + 0x10], r11
mov r11, qword [rbp - 0x80]
mov dword [rbp - 0x64], ecx
mov ecx, dword [rsp + 0x40]
mov qword [rbp + 0x50], rax
mov qword [rbp - 0x78], r11
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], rsi
nop dword [rax + rax]
cmp r13d, 0x65
ja case.default.0x18000992b
lea rcx, [0x180000000]
movzx eax, byte [rcx + r13 + 0xab10]
mov ecx, dword [rcx + rax*4 + 0xaac0]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
cmp dword [r12], 1
jge 0x1800099cd
mov ebx, 5
lea r15, [0x180000000]
lea esi, [rbx + 1]
cmp ebx, 5
ja case.0x180009959.0
mov eax, ebx
mov ecx, dword [r15 + rax*4 + 0xab78]
add rcx, r15
jmp rcx
lea rcx, [rbp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx r8d, word [rbp + 0x68]
movzx edx, word [rbp + 0x6a]
mov dword [rbp - 4], r8d
mov dword [rbp - 0x50], edx
jmp case.0x180009959.0
movzx eax, word [rbp + 0x60]
movzx edx, word [rbp + 0x64]
mov dword [rbp - 8], eax
mov dword [rbp - 0x54], edx
mov dword [rbp - 0x1c], 0
jmp case.0x180009959.0
movzx r8d, word [rbp + 0x62]
dec r8d
mov dword [rbp - 0x64], r8d
movzx r8d, word [rbp + 0x66]
mov dword [rbp - 0x20], r8d
jmp case.0x180009959.0
movzx r14d, word [rbp + 0x6c]
dec ebx
sub rsi, 1
jne 0x180009947
mov r15, qword [rbp + 0x40]
mov rbx, qword [rbp - 0x10]
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov r11, qword [rbp - 0x78]
jmp case.0x18000992b.2
mov ebx, 0x18
cmp ebx, 0x18
je 0x180009a27
cmp ebx, 0xee8
je 0x180009a22
cmp ebx, 0x1db8
je 0x1800099fe
cmp ebx, 0x2c88
jne 0x180009a7f
mov edx, dword [rdi + 0x18]
mov dword [rbp - 0x54], edx
jmp 0x180009a7f
mov r8d, dword [rdi + 0x10]
mov edx, dword [rdi + 0x14]
add edx, 0x76c
mov dword [rbp - 0x64], r8d
mov r8d, dword [rdi + 0xc]
mov dword [rbp - 8], edx
mov edx, dword [rdi + 0x1c]
mov dword [rbp - 0x1c], edx
mov dword [rbp - 0x20], r8d
jmp 0x180009a7f
mov r14d, dword [rdi]
jmp 0x180009a7f
mov rcx, qword [r15]
mov edx, 0x34
call fcn.180042470
test eax, eax
je 0x180009a5a
mov r8, qword [r15]
mov edx, 0x2e
xor ecx, ecx
call fcn.1800437e0
lea rcx, [rbp - 0x60]
mov qword [rbp - 0x60], rax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
test rax, rax
jne 0x180009a64
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
mov rdi, rax
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
mov dword [rbp - 4], r8d
mov dword [rbp - 0x50], edx
add ebx, 0xed0
cmp ebx, 0x3b40
jbe 0x1800099d2
mov rbx, qword [rbp - 0x10]
mov r11, qword [rbp - 0x78]
mov r8, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
dec r13d
lea eax, [r13 + 0xbb]
cmp eax, ecx
jbe 0x180009f8d
mov edx, 0x2c
lea r9d, [rdx - 0xa]
lea r10d, [rdx + 0x4a]
jmp 0x180009900
mov word [rbp + 0x70], dx
mov word [rbp + 0x71], r9w
jmp case.0x18000992b.2
xor r12d, r12d
jmp case.0x18000992b.2
xor eax, eax
lea r8, [r12 + 0x48]
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x28], rax
mov ecx, 0xb4
mov qword [rsp + 0x20], rax
call fcn.18002fc30
jmp 0x180009a95
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x180009ba2
lea rdx, [rbp - 0x18]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r9d, dword [rbp - 0x18]
xor edx, edx
mov rcx, qword [rbp + 0x10]
mov qword [rsp + 0x28], 0
mov dword [rbp - 0x40], eax
lea r8d, [rdx + 2]
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r11, rax
mov qword [rbp - 0x78], rax
jmp 0x180009a99
test r8, r8
jne case.0x18000992b.2
xor r9d, r9d
xor edx, edx
mov r8d, 0xed
mov rcx, rbx
call fcn.1800f3ce0
xor eax, eax
jmp 0x18000aa94
test r11, r11
jne case.0x18000992b.2
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xffffffff
jmp 0x18000aa94
mov eax, 0x3a22
mov word [rbp + 0x72], r10w
mov word [rbp + 0x73], ax
mov rsi, 0xffffffffffffffff
lea rax, [rbp + 0x70]
mov byte [rbp + 0x75], 0
nop dword [rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x180009bd0
mov rdx, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180009c20
lea rax, [rcx + rsi]
mov qword [r12 + 0x10], rax
mov rax, r12
cmp rdx, 0x10
jb 0x180009c04
mov rax, qword [r12]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp + 0x70]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
jmp 0x1800099b6
lea r9, [rbp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov rdx, rsi
mov rcx, r12
call fcn.1800073d0
mov r8, qword [rsp + 0x70]
mov r11, qword [rbp - 0x78]
mov rsi, qword [rsp + 0x78]
jmp case.0x18000992b.2
mov r9, rbx
mov dword [rbp - 0x70], 4
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0xfe
call fcn.1800dee70
mov r8, qword [rsp + 0x70]
mov r11, qword [rbp - 0x78]
jmp case.0x18000992b.2
mov qword [rsp + 0x28], 0
mov r9d, 0x62
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
call fcn.180064120
mov qword [rbp + 0x38], rax
test rax, rax
je 0x180009ba2
lea r8, [rbp - 0x80]
mov qword [rbp - 0x80], rax
mov edx, 0xd9
xor ecx, ecx
call fcn.180052950
mov r8, qword [rsp + 0x70]
mov r11, qword [rbp - 0x78]
mov qword [rbp + 0x10], rax
jmp case.0x18000992b.2
cmp dword [rbx + 0x4e8], 1
jae 0x180009ceb
mov rax, qword [rbx + 0x740]
mov qword [rbx + 0x730], rax
mov rax, qword [rbx + 0x748]
mov qword [rbx + 0x738], rax
mov r9d, 0xbf
xor r8d, r8d
mov rdx, r12
xor ecx, ecx
call fcn.180029510
mov r8, qword [rsp + 0x70]
mov r11, qword [rbp - 0x78]
jmp case.0x18000992b.2
mov ecx, dword [rsp + 0x40]
lea r10, [rbx + 0x148]
mov qword [rsp + 0x50], r10
mov qword [rbp + 0x28], r12
jmp 0x180009aa7
mov r8d, dword [rbx + 0x18]
mov r10d, 1
add r8, qword [rbx + 8]
mov ecx, dword [rbx + 0x8c]
shl r10d, cl
mov dword [rbp - 0x58], r10d
mov qword [rbp + 0x30], r8
jmp 0x180009a99
mov rdx, qword [rbp + 0x28]
mov ecx, dword [rsp + 0x40]
mov r9, rdx
mov r10, qword [rsp + 0x50]
mov qword [rbp + 0x18], rdx
mov qword [rsp + 0x68], rdx
add rdx, qword [r15]
mov qword [rsp + 0x60], rdx
lea rax, [rdx - 8]
mov qword [rbp - 0x28], rax
jmp 0x180009ab1
mov ecx, dword [rbp - 0x18]
xor r9d, r9d
mov eax, dword [rbp - 0x40]
xor r8d, r8d
shl rcx, 0x20
or rcx, rax
mov qword [r15], rcx
lea edx, [r9 + 4]
mov qword [rsp + 0x20], rcx
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x70]
mov r11, qword [rbp - 0x78]
mov qword [rbp + 0x50], rax
test rax, rax
je 0x180009ab1
mov qword [r12], rax
jmp 0x180009ab1
test rsi, rsi
je 0x180009b75
xor edx, edx
mov r8d, 0x10b
mov rcx, rbx
call fcn.18002b4e0
mov r11, qword [rbp - 0x78]
mov r8, rax
mov qword [rsp + 0x70], rax
jmp case.0x18000992b.2
xor eax, eax
mov r9, rbx
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
lea ecx, [rax + 0x6b]
call fcn.1800a2750
mov r8, qword [rsp + 0x70]
mov rsi, rax
mov r11, qword [rbp - 0x78]
mov qword [rsp + 0x78], rax
jmp case.0x18000992b.2
mov r9, rsi
mov dword [rbp - 0x70], r14d
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0xfe
call fcn.1800dee70
mov r8, qword [rsp + 0x70]
lea r9, str.seconds
mov edx, StrCmpNICW
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.180098b00
mov r8, qword [rsp + 0x70]
mov r11, qword [rbp - 0x78]
jmp case.0x18000992b.2
movsd xmm0, qword [rbx]
lea rdx, [rbp + 0x20]
mov r8d, 5
movsd qword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x78]
call fcn.1800b1d40
lea rax, [rbp + 0x78]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180009e97
mov rdx, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180009ee7
lea rax, [rcx + rsi]
mov qword [r12 + 0x10], rax
mov rax, r12
cmp rdx, 0x10
jb 0x180009ecb
mov rax, qword [r12]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp + 0x78]
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], 0
jmp 0x1800099b6
lea r9, [rbp + 0x78]
jmp 0x180009c24
mov r9, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x80]
mov r10, qword [rbp - 0x80]
mov r8d, dword [rbp + 0x88]
mov r11d, dword [rbp + 0x7c]
mov r15, qword [rbp - 0x80]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x30], rax
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x58], eax
mov eax, dword [rbp + 0x94]
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp + 0x90]
mov dword [rbp - 0x54], eax
mov eax, dword [rbp + 0x8c]
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp - 0x20], eax
mov eax, dword [rbp + 0x80]
mov dword [rbp - 4], eax
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x70], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], rdx
mov dword [rbp - 0x64], r8d
mov dword [rbp - 0x50], r11d
mov qword [rsp + 0x50], r10
jmp 0x180009fa4
mov r15, qword [rbp + 0x18]
lea rcx, [0x180000000]
mov esi, dword [rsp + 0x58]
mov r8d, dword [rbp - 0x64]
mov r11d, dword [rbp - 0x50]
lea r12d, [rsi - 0x14]
mov dword [rbp + 0x70], r12d
mov edi, dword [rbp + 0x70]
cmp esi, r12d
jbe case.0x180009ff8.227
mov r13, qword [rbp + 0x40]
mov r14d, dword [rbp - 0x68]
mov dword [rbp - 0x70], edi
nop dword [rax]
nop word [rax + rax]
lea eax, [rsi - 0xe3]
cmp eax, 0x29
ja case.0x180009ff8.246
movzx eax, byte [rcx + rax + 0xabe0]
mov ecx, dword [rcx + rax*4 + 0xab90]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, qword [rsp + 0x78]
lea r8, [rbp - 0x30]
mov edx, 0x66
mov qword [rbp - 0x30], rax
call fcn.1800e5470
mov r9, qword [rsp + 0x78]
lea rax, [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x48], ecx
lea ecx, [r8 + 0x58]
call fcn.180067430
mov r9, qword [rsp + 0x70]
mov r8d, 0x122
mov rdx, rbx
xor ecx, ecx
call fcn.1800e50a0
jmp 0x18000aa64
mov eax, dword [rbp - 0x54]
lea rcx, [rsp + 0x48]
mov r9, qword [rsp + 0x78]
xor edx, edx
mov r8d, 0xfe
mov dword [rsp + 0x48], eax
call fcn.1800dee70
lea r9, str.wday
mov rax, qword [rsp + 0x78]
mov edx, StrCmpNICW
mov r8, qword [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180098b00
jmp 0x18000aa64
mov rcx, qword [rbp + 0x58]
mov eax, dword [rbx + 0x90]
mov dword [rbp + 8], eax
lea rax, [0x1800a65b0]
cmp dword [rcx], 0
lea rcx, [0x1800a4ca0]
cmovne rax, rcx
mov qword [rbp + 0x28], rax
jmp case.0x180009ff8.246
xor edi, edi
mov dword [rbp - 0x70], edi
jmp case.0x180009ff8.246
mov eax, dword [rbp - 0x20]
lea rcx, [rsp + 0x48]
mov r9, qword [rsp + 0x78]
xor edx, edx
mov r8d, 0xfe
mov dword [rsp + 0x48], eax
call fcn.1800dee70
lea r9, str.mday
jmp 0x18000a088
mov dword [rbp - 0x40], 0
jmp case.0x180009ff8.246
mov rcx, qword [r10 + 0x18]
mov rbx, rdx
sub rbx, r9
mov rdx, r9
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r10, qword [rsp + 0x50]
add qword [r10 + 0x18], rbx
mov rbx, qword [rbp - 0x10]
jmp case.0x180009ff8.246
lea r9, str.hours
jmp 0x18000a088
mov r8d, dword [rsp + 0x40]
xor eax, eax
mov rcx, qword [rbp + 0x30]
mov r9d, r8d
cmp r15, rcx
sete al
add r15, rax
mov eax, dword [rbx + 0x20]
mov dword [rbx + 0x24], eax
mov edx, r15d
sub edx, ecx
mov ecx, r14d
cmp r14d, edx
cmovbe ecx, dword [rbp - 0x40]
xor eax, eax
cmp r14d, edx
cmovbe eax, r14d
cmp r8d, edx
mov r14d, eax
mov dword [rbp - 0x68], eax
cmovbe r9d, ecx
xor eax, eax
cmp r8d, edx
mov dword [rbp - 0x40], r9d
cmovbe eax, r8d
mov dword [rsp + 0x40], eax
jmp case.0x180009ff8.246
mov rax, qword [rsp + 0x78]
lea r9, str.year
mov r8, qword [rsp + 0x70]
mov edx, StrCmpNICW
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180098b00
mov eax, dword [rbp - 0x1c]
lea rcx, [rsp + 0x48]
mov r9, qword [rsp + 0x78]
xor edx, edx
mov r8d, 0xfe
mov dword [rsp + 0x48], eax
call fcn.1800dee70
lea r9, str.yday
jmp 0x18000a088
cmp r15, qword [rbp - 0x28]
jae 0x18000a89a
mov edi, dword [rbp - 0x48]
nop dword [rax]
nop dword [rax + rax]
lea rsi, [r15 + 1]
xor r12d, r12d
mov qword [rsp + 0x30], r12
xor r9d, r9d
mov dword [rsp + 0x28], 0x13f
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
mov qword [rbp - 0x38], rsi
xor r14d, r14d
call fcn.180016df0
mov edx, dword [rsp + 0x40]
xor ecx, ecx
mov rbx, rax
mov qword [rsp + 0x30], r12
mov rax, r15
mov dword [rsp + 0x28], 0x13f
sub rax, rdx
test edx, edx
mov qword [rbp - 0x60], rax
setne cl
inc rax
mov dword [rsp + 0x48], ecx
xor r9d, r9d
xor ecx, ecx
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor edx, edx
call fcn.180016df0
xor ecx, ecx
cmp ebx, eax
mov rbx, qword [rbp - 0x60]
sete cl
test dword [rsp + 0x48], ecx
je 0x18000a2ac
mov rcx, qword [rsp + 0x60]
lea r8, [r15 + 5]
lea rdx, [rbx + 5]
mov r9d, 0x90
call fcn.1800d3c30
lea r14, [rax + 4]
mov rax, qword [rbp + 0x120]
cmp dword [rax], r12d
je 0x18000a713
mov eax, dword [rbp + 8]
lea r9, [rbp + 0x38]
mov r8, qword [rsp + 0x60]
mov rdx, r15
mov rcx, qword [rbp - 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x20], eax
mov qword [rbp + 0x38], 0x5f5e0ff
call qword [rbp + 0x28]
cmp rax, r14
jbe 0x18000a2e8
mov r12, qword [rbp + 0x38]
mov r14, rax
mov rsi, r15
mov qword [rbp - 0x38], r15
cmp r14, 4
jae 0x18000a305
mov rax, r15
sub rax, qword [rsp + 0x68]
sar rax, 8
inc rax
add r15, rax
jmp 0x18000a875
mov rax, qword [rbp + 0x120]
cmp dword [rax], 1
jb 0x18000a6be
cmp r15, qword [rbp - 0x28]
jae 0x18000a6be
lea rax, [r15 + 4]
lea rcx, [rbx + 4]
nop word [rax + rax]
inc rbx
inc rcx
inc rax
mov qword [rbp - 0x60], rbx
inc r15
mov qword [rbp - 0x30], rcx
mov qword [rbp], rax
test r12, r12
je 0x18000a450
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x13f
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r15
xor ecx, ecx
call fcn.180016df0
mov ecx, dword [rsp + 0x40]
mov rsi, r15
sub rsi, rcx
mov qword [rsp + 0x30], 0
xor ecx, ecx
mov dword [rsp + 0x28], 0x13f
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
mov rbx, rax
call fcn.180016df0
xor ecx, ecx
cmp ebx, eax
sete cl
test dword [rsp + 0x48], ecx
je 0x18000a450
mov edi, dword [rbp + 0x48]
mov ebx, 0x112
cmp ebx, 0x112
je 0x18000a40d
cmp ebx, 0xa91c
jne 0x18000a434
lea eax, [r12 + 1]
xor r9d, r9d
mov r8d, 0x13a
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x58]
xor ecx, ecx
call fcn.1800b2830
cmp r13, 4
jb 0x18000a434
lea ecx, [r14 + r14*2]
sub ecx, eax
inc ecx
cmp edi, ecx
jle 0x18000a434
mov r14, r13
mov qword [rbp - 0x38], r15
xor r12d, r12d
jmp 0x18000a434
mov r8, qword [rbp]
lea rdx, [rsi + 4]
mov rcx, qword [rsp + 0x60]
mov r9d, 0x90
call fcn.1800d3c30
lea r13, [rax + 4]
lea edi, [r13*2]
add edi, r13d
add ebx, 0xa80a
cmp ebx, 0x15014
jbe 0x18000a3c1
mov dword [rbp + 0x48], edi
mov edi, dword [rbp - 0x48]
mov qword [rbp + 0x40], r13
mov eax, dword [rbp + 8]
lea r9, [rbp + 0x20]
mov r8, qword [rsp + 0x60]
mov rdx, r15
mov rcx, qword [rbp - 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x20], eax
mov qword [rbp + 0x20], 0x5f5e0ff
call qword [rbp + 0x28]
mov ecx, dword [rbp + 0x20]
lea rdx, [rsp + 0x58]
inc ecx
xor r9d, r9d
mov dword [rsp + 0x58], ecx
mov r8d, 0x13a
xor ecx, ecx
mov rsi, rax
call fcn.1800b2830
lea ecx, [r12 + 1]
xor r9d, r9d
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x58]
xor ecx, ecx
mov r8d, 0x13a
mov rbx, rax
call fcn.1800b2830
cmp rsi, 4
jb 0x18000a4e1
lea ecx, [r14*4 + 4]
sub ecx, eax
lea eax, [rsi*4]
sub eax, ebx
cmp eax, ecx
jle 0x18000a4e1
mov r12, qword [rbp + 0x20]
jmp 0x18000a698
mov rax, qword [rbp + 0x120]
cmp dword [rax], 2
jne 0x18000a6ba
cmp r15, qword [rbp - 0x28]
jae 0x18000a6ba
mov rsi, qword [rbp]
inc r15
inc qword [rbp - 0x60]
inc rsi
inc qword [rbp - 0x30]
mov qword [rbp], rsi
test r12, r12
je 0x18000a609
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x13f
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r15
xor ecx, ecx
call fcn.180016df0
mov rbx, rax
mov qword [rsp + 0x30], 0
mov rax, qword [rbp - 0x60]
xor r9d, r9d
mov dword [rsp + 0x28], 0x13f
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call fcn.180016df0
xor ecx, ecx
cmp ebx, eax
sete cl
test dword [rsp + 0x48], ecx
je 0x18000a609
mov ebx, 0xb3
mov eax, ebx
sub eax, 0xb3
je 0x18000a5d1
cmp eax, 0x52
jne 0x18000a5f7
lea eax, [r12 + 1]
xor r9d, r9d
mov r8d, 0x13a
mov dword [rbp - 0x48], eax
lea rdx, [rbp - 0x48]
xor ecx, ecx
call fcn.1800b2830
mov rdx, qword [rbp + 0x60]
cmp rdx, 4
jb 0x18000a5f7
lea ecx, [r14*4]
sub ecx, eax
inc ecx
cmp edi, ecx
jle 0x18000a5f7
mov r14, rdx
mov qword [rbp - 0x38], r15
xor r12d, r12d
jmp 0x18000a5f7
mov rdx, qword [rbp - 0x30]
mov r9d, 0x90
mov rcx, qword [rsp + 0x60]
mov r8, rsi
call fcn.1800d3c30
lea rdx, [rax + 4]
mov qword [rbp + 0x60], rdx
lea edi, [rdx*4]
add ebx, 0x52
cmp ebx, 0x157
jb 0x18000a581
mov dword [rbp - 0x48], edi
mov eax, dword [rbp + 8]
lea r9, [rbp + 0x18]
mov r8, qword [rsp + 0x60]
mov rdx, r15
mov rcx, qword [rbp - 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x20], eax
mov qword [rbp + 0x18], 0x5f5e0ff
call qword [rbp + 0x28]
mov ecx, dword [rbp + 0x18]
lea rdx, [rsp + 0x58]
inc ecx
xor r9d, r9d
mov dword [rsp + 0x58], ecx
mov r8d, 0x13a
xor ecx, ecx
mov rsi, rax
call fcn.1800b2830
lea ecx, [r12 + 1]
xor r9d, r9d
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x58]
xor ecx, ecx
mov r8d, 0x13a
mov rbx, rax
call fcn.1800b2830
cmp rsi, 4
jb 0x18000a6ba
lea ecx, [r14*4]
sub ecx, eax
lea eax, [rsi*4]
sub eax, ebx
add ecx, 7
cmp eax, ecx
jle 0x18000a6ba
mov r12, qword [rbp + 0x18]
mov r14, rsi
mov rax, qword [rbp]
mov rsi, r15
mov rcx, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x60]
mov qword [rbp - 0x38], r15
cmp r15, qword [rbp - 0x28]
jb 0x18000a330
jmp 0x18000a6be
mov rsi, qword [rbp - 0x38]
mov r10, qword [rsp + 0x68]
test r12, r12
je 0x18000a718
cmp rsi, r10
jbe 0x18000a701
mov r8, qword [rbp + 0x30]
mov edx, 2
add r8, 0xfffffffffffffffe
add r8, r12
sub rdx, r12
cmp rsi, r8
jbe 0x18000a701
movzx eax, byte [rsi + rdx - 1]
lea rcx, [rsi - 1]
cmp byte [rcx], al
jne 0x18000a701
inc r14
mov qword [rbp - 0x38], rcx
mov rsi, rcx
cmp rcx, r10
ja 0x18000a6e0
mov eax, dword [rsp + 0x40]
mov dword [rbp - 0x68], eax
lea eax, [r12 - 2]
mov dword [rsp + 0x40], eax
jmp 0x18000a718
mov r10, qword [rsp + 0x68]
mov rbx, qword [rbp - 0x38]
lea rax, [r14 - 3]
mov r8, qword [rsp + 0x50]
lea r9, [rbp - 0x30]
mov qword [rbp], rax
lea rdx, [rbp]
mov rax, rbx
mov dword [rsp + 0x48], r12d
sub rax, r10
mov esi, 0xf4
mov qword [rbp - 0x30], rax
mov rcx, r10
lea rax, [rsp + 0x48]
mov dword [rsp + 0x58], esi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x82
call fcn.180008fa0
mov rax, qword [rbp - 0x28]
lea r15, [rbx + r14]
mov qword [rsp + 0x68], r15
cmp r15, rax
ja 0x18000a886
mov r12d, dword [rbp - 0x68]
mov edi, dword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
nop word [rax + rax]
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x13f
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r15
xor ecx, ecx
mov r14d, r12d
call fcn.180016df0
mov rbx, rax
mov qword [rsp + 0x30], 0
mov eax, r12d
mov rsi, r15
sub rsi, rax
mov dword [rsp + 0x28], 0x13f
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180016df0
xor ecx, ecx
cmp ebx, eax
sete cl
xor eax, eax
test r12d, r12d
setne al
test eax, ecx
je 0x18000a86a
mov rcx, qword [rsp + 0x60]
lea r8, [r15 + 4]
lea rdx, [rsi + 4]
mov r9d, 0x90
call fcn.1800d3c30
mov r12d, edi
mov dword [rbp - 0x68], edi
lea r9, [rbp - 0x30]
mov r8, r13
lea rdx, [rbp]
mov edi, r14d
lea rbx, [rax + 4]
xor eax, eax
mov dword [rsp + 0x48], eax
lea rcx, [rbx - 3]
mov qword [rbp - 0x30], rax
lea rax, [rsp + 0x48]
mov qword [rbp], rcx
mov rcx, r15
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x82
call fcn.180008fa0
add r15, rbx
mov qword [rsp + 0x68], r15
cmp r15, qword [rbp - 0x28]
jbe 0x18000a790
mov r13, qword [rbp + 0x40]
mov dword [rsp + 0x40], edi
mov edi, dword [rbp - 0x48]
mov rax, qword [rbp - 0x28]
mov esi, dword [rsp + 0x58]
cmp r15, rax
jb 0x18000a200
mov edi, dword [rbp - 0x70]
mov r14d, dword [rbp - 0x68]
mov r12d, dword [rbp + 0x70]
mov rbx, qword [rbp - 0x10]
mov r10, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x40]
test ecx, ecx
mov eax, dword [rbp - 0x40]
cmovne eax, ecx
test r14d, r14d
mov dword [rbx + 0x44], eax
mov eax, dword [rbp - 0x40]
cmovne eax, r14d
mov dword [rbx + 0x48], eax
jmp case.0x180009ff8.246
mov dword [rsp + 0x48], r11d
mov r9, qword [rsp + 0x78]
lea rcx, [rsp + 0x48]
xor edx, edx
mov r8d, 0xfe
call fcn.1800dee70
jmp 0x18000aa64
mov eax, dword [rbx + 0x38]
mov r14d, dword [rbx + 0x3c]
mov dword [rsp + 0x40], eax
mov dword [rbp - 0x68], r14d
jmp case.0x180009ff8.246
mov rax, qword [rsp + 0x78]
xor ecx, ecx
mov qword [rsp + 0x38], rcx
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x28], rcx
mov r8d, 0xd8
mov qword [rsp + 0x20], rcx
call fcn.1800e58a0
mov ecx, dword [rbp - 0x64]
lea r9, [rsp + 0x48]
mov dword [rsp + 0x48], ecx
xor r8d, r8d
mov ecx, 0xdf
xor edx, edx
call fcn.180067bb0
mov rcx, qword [rsp + 0x78]
xor r9d, r9d
mov qword [rsp + 0x28], rcx
xor r8d, r8d
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x58], 0xffffffff
mov qword [rsp + 0x20], rcx
mov rcx, rax
lea edx, [r9 + 0x5b]
call fcn.1800e2fb0
lea r9, str.month
jmp 0x18000a088
mov rax, qword [rsp + 0x78]
lea r9, str.minutes
mov r8, qword [rsp + 0x70]
mov edx, StrCmpNICW
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180098b00
mov eax, dword [rbp - 4]
mov dword [rsp + 0x48], eax
jmp 0x18000a8c0
mov eax, dword [rbp - 0x54]
lea r9, [rsp + 0x48]
xor r8d, r8d
mov dword [rsp + 0x48], eax
mov edx, 0x82
xor ecx, ecx
call fcn.1800e0820
mov rcx, qword [rsp + 0x78]
xor r9d, r9d
mov qword [rsp + 0x28], rcx
xor r8d, r8d
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x58], 0xffffffff
mov qword [rsp + 0x20], rcx
mov rcx, rax
lea edx, [r9 + 0x5b]
call fcn.1800e2fb0
lea r9, str.weekday
jmp 0x18000a088
mov r9, qword [rsp + 0x78]
lea eax, [r8 + 1]
mov r8d, 0xfe
mov dword [rsp + 0x48], eax
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.1800dee70
mov rax, qword [rsp + 0x78]
lea r9, [0x180106cc8]
mov r8, qword [rsp + 0x70]
mov edx, StrCmpNICW
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180098b00
mov eax, dword [rbp - 8]
mov dword [rsp + 0x48], eax
jmp 0x18000a8c0
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbp + 0x50]
neg rax
sbb edi, edi
neg edi
dec edi
mov dword [rbp - 0x70], edi
mov r10, qword [rsp + 0x50]
dec esi
mov dword [rsp + 0x58], esi
cmp esi, r12d
jbe case.0x180009ff8.227
mov rdx, qword [rsp + 0x60]
lea rcx, [0x180000000]
mov r9, qword [rsp + 0x68]
mov r8d, dword [rbp - 0x64]
mov r11d, dword [rbp - 0x50]
jmp 0x180009fd0
mov eax, edi
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.1800fd9d0
mov rbx, qword [rsp + 0x218]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret