Function at 0x18028eb70
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rsi, rdx
mov rbp, rcx
cmp qword [rdx + 8], 0
je case.default.0x18028eca9
xor edi, edi
mov dword [rdx + 0x60], edi
lea rax, [rdx + 0x20]
cmp qword [rdx + 0x38], 8
jb 0x18028eba9
mov rax, qword [rdx + 0x20]
mov r9d, dword [rdx + 0x4c]
sub r9d, dword [rdx + 0x44]
mov r8d, dword [rdx + 0x48]
sub r8d, dword [rdx + 0x40]
mov qword [rsp + 0x20], rax
mov edx, dword [rdx + 0x14]
lea rcx, str.RCLoaderThread::ExecTask__d_____d__d_____s_n
call fcn.18000ef10
cmp byte [rsi + 0x18], dil
je 0x18028ec87
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x18028ec87
mov rax, qword [rcx]
lea rdx, [rsi + 0x20]
call qword [rax + 0x58]
cmp eax, 2
jne 0x18028ec87
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
xor edx, edx
lea r8d, [rdx + 3]
call qword [rax + 0x140]
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov edx, 1
lea r8d, [rdx + 2]
call qword [rax + 0x140]
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov edx, 2
lea r8d, [rdx + 1]
call qword [rax + 0x140]
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov edx, 3
mov r8d, edx
call qword [rax + 0x140]
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov edx, 4
lea r8d, [rdx - 1]
call qword [rax + 0x140]
mov rcx, qword [rsi + 0x58]
mov rax, qword [rcx]
mov r8d, 1
mov rdx, rsi
call qword [rax + 8]
mov rcx, qword [rsi + 0x58]
mov rax, qword [rcx]
mov r8d, 2
mov rdx, rsi
call qword [rax + 8]
mov byte [rsi + 0x52], dil
movsxd rax, dword [rsi + 0x14]
cmp eax, 0xa
ja case.default.0x18028eca9
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x28efc8]
add rcx, rdx
jmp rcx
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x150]
mov rdi, rax
mov qword [rsp + 0x98], rax
test rax, rax
je 0x18028ecd3
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
test rdi, rdi
je 0x18028ed9c
lea r9, [rsi + 0x40]
mov rdx, qword [rsi + 8]
mov rcx, rbp
call fcn.180291920
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x18028ed02
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
movzx eax, byte [rbp + 0x50]
test rbx, rbx
je 0x18028ed79
test al, al
je 0x18028ed2d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rax, qword [rdi]
mov rcx, rdi
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp qword [rax + 8]
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x188]
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x18028ed8d
mov rax, qword [rcx]
mov rdx, qword [rsi + 8]
call qword [rax + 0x20]
test al, al
je 0x18028ed8d
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov r8d, 3
mov rdx, rbx
call qword [rax + 0x160]
mov rcx, qword [rsi + 0x58]
mov rax, qword [rcx]
mov rdx, qword [rsi + 8]
call qword [rax + 0x18]
jmp 0x18028ed8d
test al, al
jne 0x18028ed8d
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x188]
nop
test rbx, rbx
je 0x18028ed9c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
test rdi, rdi
je case.default.0x18028eca9
mov rax, qword [rdi]
mov rcx, rdi
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp qword [rax + 8]
cmp qword [rsi + 8], rdi
je case.default.0x18028eca9
mov qword [rsp + 0x88], rdi
lea r9, [rsp + 0x88]
mov r8d, 2
mov rdx, rsi
call fcn.180291a70
test al, al
je 0x18028ee1b
mov qword [rsp + 0x90], rdi
lea r9, [rsp + 0x90]
mov r8d, 1
mov rdx, rsi
call fcn.180291a70
test al, al
jne 0x18028ee3d
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x18028ee1b
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je case.default.0x18028eca9
mov rax, qword [rcx]
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp qword [rax + 8]
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x150]
mov r14, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18028ee62
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
mov rcx, qword [rsi + 8]
mov rdx, qword [rcx]
call qword [rdx + 0x100]
test al, al
jne 0x18028eeac
test r14, r14
je 0x18028ee89
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x118]
cmp eax, 1
je 0x18028eeac
mov rdi, qword [rsp + 0x90]
mov r9, rdi
mov rbx, qword [rsp + 0x88]
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.180293110
jmp 0x18028eee3
mov rdi, qword [rsp + 0x90]
mov r9, rdi
mov rbx, qword [rsp + 0x88]
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.1802927b0
test al, al
jne 0x18028eee3
mov r9, rdi
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.180293110
nop
test r14, r14
je 0x18028eef2
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
nop
test rdi, rdi
je 0x18028ef01
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
test rbx, rbx
je case.default.0x18028eca9
mov rax, qword [rbx]
mov rcx, rbx
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp qword [rax + 8]
mov r8d, dword [rsi + 0x10]
test r8b, 0x40
jne case.0x18028eca9.9
mov rdx, rsi
mov rcx, rbp
test r8b, 8
jne 0x18028ef77
call fcn.18028f850
cmp byte [rsi + 0x18], dil
je case.default.0x18028eca9
mov rdx, rsi
mov rcx, rbp
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x1802926a0
mov r8d, dword [rsi + 0x10]
mov rdx, rsi
mov rcx, rbp
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x1802901e0
mov r8d, dword [rsi + 0x10]
mov rdx, rsi
mov rcx, rbp
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x180293600
mov rdx, rsi
mov rcx, rbp
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x180293960
mov rdx, rsi
mov rcx, rbp
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x180291cd0
mov rdx, rsi
mov rcx, rbp
call fcn.180290f90
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0xa0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov ebx, r8d
mov rsi, rdx
mov r14, rcx
mov rcx, qword [rdx + 8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
call qword [rax + 0x1b8]
nop
mov dword [rsp + 0x50], 0xffffffff
xor r15d, r15d
mov qword [rsp + 0x54], r15
mov eax, 1
mov word [rsp + 0x5c], ax
mov edi, r15d
mov dword [rsp + 0x48], r15d
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
call qword [rax + 0x38]
cmp eax, 0x22
jne 0x180290268
test bl, 8
je 0x180290268
and ebx, 0xfffffffe
mov edi, 6
mov dword [rsp + 0x48], edi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsi + 0x60], eax
mov qword [rsp + 0x40], r15
mov rcx, qword [r14 + 0x48]
mov rax, qword [rcx]
and ebx, 0xfffffffb
mov qword [rsp + 0x30], rsi
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x78]
xor edx, edx
call qword [rax + 0x20]
test al, al
jne 0x180290321
lea rcx, [rsp + 0x40]
call fcn.180005560
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 8
jb 0x180290302
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0x60], rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802902fd
add rdx, 0x27
mov qword [rsp + 0x60], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1802902fd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180388460
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], 7
mov word [rsp + 0x78], r15w
jmp 0x1802903df
movzx eax, word [rsp + 0x5c]
mov word [rsp + 0x20], ax
xor r9d, r9d
mov r8, qword [rsp + 0x40]
mov rdx, rsi
call fcn.180291be0
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov r8d, 2
mov edx, edi
call qword [rax + 0x140]
mov byte [rsp + 0x20], 1
mov r9d, edi
mov r8, qword [rsp + 0x40]
mov rdx, rsi
mov rcx, r14
call fcn.180291b20
nop
lea rcx, [rsp + 0x40]
call fcn.180005560
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 8
jb 0x1802903c5
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0x68], rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802903c0
add rdx, 0x27
mov qword [rsp + 0x68], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1802903c0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180388460
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], 7
mov word [rsp + 0x78], r15w
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.180388400
add rsp, 0xa0
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x270], rbx
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov r15, rdx
mov r13, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
cmp qword [rdx + 8], r12
je 0x180292532
cmp qword [rcx + 0x48], r12
je 0x180292532
cmp qword [rcx + 0x60], r12
je 0x180292532
mov rax, qword [rcx + 0x78]
test rax, rax
jne 0x180291e97
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
lea rdx, [rsp + 0x78]
lea ecx, [rax + 0x1a]
call fcn.1801fd570
test al, al
je 0x180291e34
cmp qword [rbp - 0x78], 3
jb 0x180291e34
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
mov r8d, 3
cmp qword [rbp - 0x78], r8
cmovb r8, qword [rbp - 0x78]
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
lea rcx, [rbp - 0x60]
call fcn.180004ea0
mov ebx, 1
mov dword [rsp + 0x20], ebx
lea rcx, [rsp + 0x78]
call fcn.180004e20
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rbp - 0x78], xmm1
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
and ebx, 0xfffffffe
mov dword [rsp + 0x20], ebx
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
movups xmm2, xmmword [r13 + 0x68]
movups xmm3, xmmword [r13 + 0x78]
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [r13 + 0x68], xmm0
movups xmm1, xmmword [rbp - 0x78]
movups xmmword [r13 + 0x78], xmm1
movups xmmword [rsp + 0x78], xmm2
movups xmmword [rbp - 0x78], xmm3
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180291e78
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180291e73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180291e73
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
mov rax, qword [r13 + 0x78]
test rax, rax
je 0x180292532
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], 7
mov word [rbp + 0x90], r12w
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], r12
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], 7
mov word [rbp + 0xb0], r12w
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe8], 7
mov word [rbp + 0xd0], r12w
lea rcx, [r13 + 0x68]
lea rdx, [rbp + 0x90]
call fcn.1802146d0
test al, al
je 0x180291f30
cmp qword [rbp + 0x100], 0x40000000
jb 0x180291f4e
mov qword [rsp + 0x30], r12
lea rdx, [r15 + 0x20]
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rcx, qword [r13 + 0x60]
call fcn.180270910
test eax, eax
jne 0x180291f56
xor dil, dil
jmp 0x180292506
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], 7
mov word [rbp + 0x10], r12w
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x1802924f9
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], 7
mov word [rbp + 0x68], r12w
mov rax, qword [rdi]
lea rdx, [rbp - 0x60]
mov rcx, rdi
call qword [rax + 0xc0]
mov rbx, rax
mov qword [rsp + 0x28], r12
mov ecx, 8
call fcn.180388424
mov qword [rsp + 0x38], rax
mov qword [rax], 0xffffffffffffffff
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x40]
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.18015edb0
movzx esi, al
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x180292027
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x18029201a
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x18029201a
mov qword [rbx], 0xffffffffffffffff
mov edx, 8
mov rcx, rbx
call fcn.180388460
mov qword [rsp + 0x28], r12
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x18029206f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18029206a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18029206a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
test sil, sil
je 0x1802924f0
mov rcx, qword [rbp + 0x58]
shr rcx, 0x20
shl rcx, 0x20
mov eax, dword [rbp + 0x58]
add rcx, rax
mov qword [rbp - 8], rcx
mov rax, qword [rbp + 0x40]
mov qword [rbp + 8], rax
mov rax, qword [rdi]
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [rax + 0xc0]
nop
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.1800049e0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x180292108
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180292103
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180292103
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r12w
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x68]
mov qword [rbp + 0x30], rax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x38]
mov dword [rbp], eax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0xc8]
mov dword [rbp - 0x10], eax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0xd0]
mov dword [rbp - 0xc], eax
lea rcx, [rbp + 0x68]
call fcn.180004e20
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x30], rax
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
mov edx, 2
call qword [rax + 0x158]
mov rsi, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x18029218a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
test rsi, rsi
jne 0x180292197
xor dil, dil
jmp 0x1802924e0
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x150]
mov r14, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1802921bc
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
test r14, r14
jne 0x1802921c9
xor dil, dil
jmp 0x1802924d1
mov rbx, r12
mov qword [rsp + 0x30], rbx
mov rdx, qword [r15 + 8]
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x60], xmm0
test rdx, rdx
je 0x1802921f1
lea r8, [rbp - 0x60]
lea rcx, [rbp - 0x40]
call fcn.180292560
jmp 0x1802921fa
movdqa xmmword [rbp - 0x40], xmm0
lea rax, [rbp - 0x40]
mov rdx, rax
lea rcx, [rbp - 0x20]
call qword [sym.imp.USER32.dll_CopyRect]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x80]
mov edi, eax
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + 0x88]
mov edx, dword [rbp - 0x18]
sub edx, dword [rbp - 0x20]
cmp edi, edx
jl 0x1802924bf
mov ecx, dword [rbp - 0x14]
sub ecx, dword [rbp - 0x1c]
cmp eax, ecx
jl 0x1802924bf
cmp edi, edx
jne 0x180292256
cmp eax, ecx
jne 0x180292256
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x158]
jmp 0x180292266
lea r9, [rbp - 0x20]
mov rdx, qword [r15 + 8]
mov rcx, r13
call fcn.180291920
test rax, rax
mov rdi, rax
je 0x1802924bf
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
mov rbx, rdi
mov qword [rsp + 0x30], rbx
test rbx, rbx
je 0x1802924bf
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov r12d, eax
mov rcx, qword [r15 + 8]
mov rdx, qword [rcx]
call qword [rdx + 0xf0]
test al, al
je 0x18029233b
mov rcx, qword [r15 + 8]
mov rdx, qword [rcx]
call qword [rdx + 0x118]
movzx edi, ax
cmp r12d, 2
jne 0x180292313
mov r9, qword [rsi]
mov r8b, 1
movzx edx, ax
mov rcx, rsi
call qword [r9 + 0x128]
mov r9, qword [rbx]
mov r8b, 1
movzx edx, di
mov rcx, rbx
call qword [r9 + 0x128]
test al, al
je 0x180292377
mov r8d, dword [rbp - 0x10]
mov edx, r8d
mov ecx, dword [rbp - 0xc]
movzx eax, di
add eax, 0xfffffffb
cmp eax, 3
ja 0x180292333
mov edx, ecx
mov ecx, r8d
mov dword [rbp - 0x10], edx
mov dword [rbp - 0xc], ecx
jmp 0x180292377
cmp r12d, 0x22
jne 0x180292377
mov r8d, dword [rbp - 0x10]
mov edx, r8d
mov ecx, dword [rbp - 0xc]
movzx eax, di
add eax, 0xfffffffb
cmp eax, 3
ja 0x180292333
mov edx, ecx
mov ecx, r8d
mov dword [rbp - 0x10], edx
mov dword [rbp - 0xc], ecx
jmp 0x180292377
cmp r12d, 0x22
jne 0x180292377
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
call qword [rax + 0x118]
movzx edi, ax
mov r9, qword [rsi]
mov r8b, 1
movzx edx, ax
mov rcx, rsi
call qword [r9 + 0x128]
mov r9, qword [rbx]
mov r8b, 1
movzx edx, di
mov rcx, rbx
call qword [r9 + 0x128]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqu xmmword [rsp + 0x50], xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov ecx, 0x18
call fcn.180388424
mov qword [rbp - 0x40], rax
lea rcx, vtable.RC::IImageBuffer.0
mov qword [rax], rcx
lea rdi, vtable.RC::RCImageBuffer.0
mov qword [rax], rdi
xor ecx, ecx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1800a88b0
mov ecx, 0x28
call fcn.180388424
mov qword [rbp - 0x40], rax
lea rcx, vtable.RC::IImageBuffer.0
mov qword [rax], rcx
mov qword [rax], rdi
xor ecx, ecx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
lea rdx, vtable.RC::RCExifBuffer.0
mov qword [rax], rdx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1800a8940
mov ecx, 0x18
call fcn.180388424
mov qword [rbp - 0x40], rax
lea rcx, vtable.RC::IImageBuffer.0
mov qword [rax], rcx
mov qword [rax], rdi
xor ecx, ecx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800a88b0
cmp r12d, 0xd
je 0x18029244d
cmp r12d, 0x14
mov r8d, 2
jne 0x180292453
mov r8d, 0xd
mov rax, qword [rbx]
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call qword [rax + ILFree]
test al, al
je 0x1802924b0
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x50]
call qword [rax + 0xb0]
test al, al
je 0x1802924b0
mov rax, qword [rsi]
mov r8d, 2
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call qword [rax + ILFree]
test al, al
je 0x1802924b0
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x10]
mov rcx, qword [r13 + 0x60]
call fcn.180271180
movzx edi, al
jmp 0x1802924b3
xor dil, dil
lea rcx, [rsp + 0x40]
call fcn.18009f270
jmp 0x1802924c2
xor dil, dil
test rbx, rbx
je 0x1802924d1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
test r14, r14
je 0x1802924e0
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
nop
test rsi, rsi
je 0x1802924fc
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
jmp 0x1802924fc
lea rcx, [rbp + 0x68]
call fcn.180004e20
xor dil, dil
lea rcx, [rbp + 0x10]
call fcn.180004e20
nop
lea rcx, [rbp + 0xd0]
call fcn.180004e20
nop
lea rcx, [rbp + 0xb0]
call fcn.180004e20
nop
lea rcx, [rbp + 0x90]
call fcn.180004e20
movzx eax, dil
jmp 0x180292534
xor al, al
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.180388400
mov rbx, qword [rsp + 0x270]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, rsp
push rdi
sub rsp, 0xb0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rdi, rdx
mov rsi, rcx
mov rbx, qword [rdx + 8]
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x1802926eb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
nop
test rbx, rbx
je 0x180292775
test byte [rdi + 0x10], 4
je 0x180292775
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + pe_nt_image_headers64]
cmp eax, 3
jne 0x180292775
mov rax, qword [rbx]
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call qword [rax + 0x140]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.18028e710
nop
mov eax, dword [rsp + 0x40]
and eax, 0xfffffffe
or eax, 4
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.18028f460
nop
lea rcx, [rsp + 0x50]
call fcn.180004e20
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180292769
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rax, vtable.ILoadImageCallBack.0
mov qword [rsp + 0x30], rax
test rbx, rbx
je 0x180292783
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.180388400
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rsp + 0xe8], rbx
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r14d, r8d
mov rbx, rdx
mov rsi, rcx
cmp qword [rdx + 8], 0
je 0x18029392e
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax]
test al, al
jne 0x18029392e
cmp qword [rsi + 0x48], 0
je 0x18029392e
test r14b, 8
je 0x18029392e
cmp byte [rbx + 0x18], al
jne 0x180293683
mov rdx, rbx
mov rcx, rsi
call fcn.18028f000
test al, al
jne 0x18029392e
mov byte [rbp - 0x29], 0
test r14b, 4
je 0x18029369c
lea r8, [rbp - 0x29]
mov rdx, rbx
mov rcx, rsi
call fcn.180290bf0
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
mov edx, 2
call qword [rax + pe_nt_image_headers64]
cmp eax, 2
jne 0x1802936c6
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1802936c6
mov rax, qword [rcx]
mov rdx, qword [rbx + 8]
call qword [rax + 0x30]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
lea rdx, [rbp + 0xf]
call qword [rax + 0xc0]
nop
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
mov edx, 6
call qword [rax + pe_nt_image_headers64]
dec eax
xor r15d, r15d
cmp eax, 1
jbe 0x1802938d9
mov dword [rbp - 0x19], 0xffffffff
mov qword [rbp - 0x15], r15
mov r8d, 1
mov word [rbp - 0xd], r8w
mov rdi, qword [rbx + 8]
mov qword [rbp - 9], rdi
mov dword [rbp - 1], 6
mov byte [rbp + 3], r15b
mov rax, qword [rdi]
lea edx, [r15 + 6]
mov rcx, rdi
call qword [rax + 0x140]
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x60], eax
mov qword [rbp - 0x21], r15
mov rcx, qword [rsi + 0x48]
mov rax, qword [rcx]
and r14d, 0xfffffffa
mov qword [rsp + 0x30], rbx
lea rdx, [rbp - 0x19]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], r14d
lea r9, [rbp - 0x21]
lea r8, [rbp + 0xf]
xor edx, edx
call qword [rax + 0x20]
test al, al
movzx eax, byte [rbx + 0x52]
jne 0x1802937b6
lea edx, [r15 + 6]
test al, al
jne 0x1802937bf
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
lea r8d, [r15 + 3]
call qword [rax + 0x140]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
xor edx, edx
lea r8d, [r15 + 3]
call qword [rax + 0x140]
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1802937d3
mov rax, qword [rcx]
lea r8d, [r15 + 0x10]
mov rdx, rbx
call qword [rax + 8]
jmp 0x1802937d3
test al, al
je 0x180293807
mov edx, 6
mov byte [rbp + 3], 1
mov rax, qword [rdi]
xor r8d, r8d
mov rcx, rdi
call qword [rax + 0x140]
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x1802937e3
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp byte [rbp + 3], 0
jne 0x1802938d9
mov rax, qword [rdi]
mov edx, 6
lea r8d, [rdx - 3]
mov rcx, rdi
call qword [rax + 0x140]
jmp 0x1802938d9
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x38]
cmp eax, 0xffffffff
jne 0x180293823
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
mov edx, dword [rbp - 0x19]
call qword [rax + 0x40]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
mov r8d, dword [rbp - 0x11]
mov edx, dword [rbp - 0x15]
call qword [rax + 0xd8]
movzx eax, word [rbp - 0xd]
mov word [rsp + 0x20], ax
mov r9b, 1
mov r8, qword [rbp - 0x21]
mov rdx, rbx
call fcn.180291be0
mov byte [rbp + 3], 1
mov rax, qword [rdi]
mov edx, 6
lea r8d, [rdx - 4]
mov rcx, rdi
call qword [rax + 0x140]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
xor edx, edx
lea r8d, [rdx + 2]
call qword [rax + 0x140]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1802938c9
mov rax, qword [rcx]
mov r8d, 6
mov rdx, qword [rbp - 0x21]
call qword [rax + 0x160]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x70]
test al, al
jne 0x1802938b0
mov rdx, rbx
mov rcx, rsi
call fcn.180290a00
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1802938c9
mov rax, qword [rcx]
mov r8d, 0x10
mov rdx, rbx
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x1802938d9
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x27]
cmp rdx, 8
jb 0x18029391c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180293917
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180293917
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
movdqa xmm0, xmmword [0x1803e8770]
movdqu xmmword [rbp + 0x1f], xmm0
mov word [rbp + 0xf], r15w
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.180388400
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
mov qword [rax - 0xa8], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov r12, rdx
mov rsi, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x90], rdx
cmp qword [rdx + 8], 0
je 0x180294120
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax]
test al, al
jne 0x180294120
cmp qword [rsi + 0x48], 0
je 0x180294120
mov ebx, dword [r12 + 0x10]
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x58], ebx
lea rdi, [rsi + 0x38]
mov qword [rsp + 0xb0], rdi
test rdi, rdi
je 0x180293a06
mov rcx, qword [rdi]
test rcx, rcx
je 0x180293a06
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r12
test rdi, rdi
je 0x180293a2a
mov rcx, qword [rdi]
test rcx, rcx
je 0x180293a1d
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor r13d, r13d
mov qword [rsp + 0xb0], r13
jmp 0x180293a2d
xor r13d, r13d
mov byte [rsp + 0x40], 0
test bl, 4
je 0x180293a47
lea r8, [rsp + 0x40]
mov rdx, r12
mov rcx, rsi
call fcn.180290bf0
mov rax, qword [r12]
mov rcx, r12
call qword [rax]
test al, al
je 0x180293a8e
mov qword [rsp + 0x68], rdi
test rdi, rdi
je 0x180293a6d
mov rcx, qword [rdi]
test rcx, rcx
je 0x180293a6d
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r13
test rdi, rdi
je 0x180293a89
mov rcx, qword [rdi]
test rcx, rcx
je 0x180293a84
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x68], r13
jmp 0x180294120
test bl, 1
jne 0x180293af3
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov edx, 1
call qword [rax + pe_nt_image_headers64]
cmp eax, 2
je 0x180293ab9
mov r8d, ebx
mov rdx, r12
mov rcx, rsi
call fcn.1802911a0
mov qword [rsp + 0x70], rdi
test rdi, rdi
je 0x180293ad2
mov rcx, qword [rdi]
test rcx, rcx
je 0x180293ad2
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r13
test rdi, rdi
je 0x180293aee
mov rcx, qword [rdi]
test rcx, rcx
je 0x180293ae9
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x70], r13
jmp 0x180294120
mov rcx, qword [r12 + 0x58]
test rcx, rcx
je 0x180293b84
mov rax, qword [rcx]
call qword [rax + 0x38]
test al, al
je 0x180293b84
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x140], xmm0
mov rcx, qword [r12 + 0x58]
mov rax, qword [rcx]
lea r8, [rsp + 0x140]
mov rdx, qword [r12 + 8]
call qword [rax + 0x40]
test al, al
je 0x180293c35
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x180293c35
mov rax, qword [rcx]
lea rdx, [rsp + 0x140]
call qword [rax + 0x180]
test al, al
je 0x180293c35
mov ecx, dword [rsp + 0x148]
sub ecx, dword [rsp + 0x140]
mov eax, dword [rsp + 0x14c]
sub eax, dword [rsp + 0x144]
cmp ecx, eax
cmovle ecx, eax
jmp 0x180293c28
mov rdx, qword [r12 + 8]
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x160], xmm0
test rdx, rdx
je 0x180293bb1
lea r8, [rsp + 0x160]
lea rcx, [rsp + 0xf0]
call fcn.180292560
jmp 0x180293bc2
movdqa xmmword [rsp + 0xf0], xmm0
lea rax, [rsp + 0xf0]
mov rdx, rax
lea rcx, [rsp + 0x150]
call qword [sym.imp.USER32.dll_CopyRect]
mov ecx, dword [rsp + 0x158]
sub ecx, dword [rsp + 0x150]
mov eax, dword [rsp + 0x15c]
sub eax, dword [rsp + 0x154]
cmp ecx, eax
cmovle ecx, eax
cmp byte [r12 + 0x53], 0
je 0x180293c28
mov edx, dword [r12 + 0x48]
sub edx, dword [r12 + 0x40]
mov r8d, dword [r12 + 0x4c]
sub r8d, dword [r12 + 0x44]
mov eax, ecx
cmp ecx, edx
cmovle eax, edx
cmp eax, r8d
jle 0x180293c25
cmp ecx, edx
cmovg edx, ecx
mov ecx, edx
jmp 0x180293c28
mov ecx, r8d
shl ecx, 0x10
or ebx, ecx
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x48], ebx
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov edx, 2
call qword [rax + pe_nt_image_headers64]
cmp eax, 2
jne 0x180293c62
mov rcx, qword [r12 + 0x58]
test rcx, rcx
je 0x180293c62
mov rax, qword [rcx]
mov rdx, qword [r12 + 8]
call qword [rax + 0x30]
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x120]
call qword [rax + 0xc0]
nop
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + pe_nt_image_headers64]
dec eax
mov r14d, 1
cmp eax, r14d
jbe 0x180293ef1
mov dword [rsp + 0x78], 0xffffffff
mov qword [rsp + 0x7c], 0
mov word [rsp + 0x84], r14w
mov rcx, qword [r12 + 8]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xa0], rcx
mov dword [rsp + 0xa8], r13d
mov byte [rsp + 0xac], 0
mov rax, qword [rcx]
mov r8d, r14d
xor edx, edx
call qword [rax + 0x140]
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r12 + 0x60], eax
mov qword [rsp + 0x50], r13
mov rcx, qword [rsi + 0x48]
mov r10, qword [rcx]
mov eax, ebx
and eax, 0xfffffffb
mov qword [rsp + 0x30], r12
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x120]
xor edx, edx
call qword [r10 + 0x20]
test al, al
jne 0x180293e30
movzx eax, byte [r12 + 0x52]
xor edx, edx
test al, al
jne 0x180293d6f
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
lea r8d, [r14 + 2]
call qword [rax + 0x140]
mov rcx, qword [r12 + 0x58]
test rcx, rcx
je 0x180293d68
mov rax, qword [rcx]
mov r8d, r14d
mov rdx, r12
call qword [rax + 8]
mov rbx, qword [rsp + 0x60]
jmp 0x180293d8c
mov byte [rsp + 0xac], 1
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx]
xor r8d, r8d
mov rcx, rbx
call qword [rax + 0x140]
nop
lea rcx, [rsp + 0x50]
call fcn.180005560
nop
cmp byte [rsp + 0xac], 0
jne 0x180293db4
mov rax, qword [rbx]
xor edx, edx
lea r8d, [rdx + 3]
mov rcx, rbx
call qword [rax + 0x140]
nop
mov rdx, qword [rsp + 0x138]
cmp rdx, 8
jb 0x180293e0e
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180293e09
add rdx, 0x27
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180293e09
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180388460
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], 7
mov word [rsp + 0x120], r13w
jmp 0x180294120
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
call qword [rax + 0x38]
cmp eax, 0xffffffff
jne 0x180293e4f
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov edx, dword [rsp + 0x78]
call qword [rax + 0x40]
movzx eax, word [rsp + 0x84]
mov word [rsp + 0x20], ax
mov r9b, 1
mov r8, qword [rsp + 0x50]
mov rdx, r12
call fcn.180291be0
mov rbx, qword [rsp + 0x50]
mov r14, qword [r12 + 8]
mov r15, qword [r14]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x88]
mov esi, eax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x80]
mov edx, eax
mov r8d, esi
mov rcx, r14
call qword [r15 + 0xd8]
mov byte [rsp + 0xac], 1
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
xor edx, edx
lea r8d, [rdx + 2]
call qword [rax + 0x140]
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, qword [rsp + 0x50]
mov rdx, r12
mov rsi, qword [rsp + 0x68]
mov rcx, rsi
call fcn.180291b20
nop
lea rcx, [rsp + 0x50]
call fcn.180005560
nop
mov ebx, dword [rsp + 0x48]
mov r14d, 1
mov rax, qword [r12]
mov rcx, r12
call qword [rax]
test al, al
je 0x180293fb9
mov qword [rsp + 0xc0], rdi
test rdi, rdi
je 0x180293f1e
mov rcx, qword [rdi]
test rcx, rcx
je 0x180293f1e
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r13
test rdi, rdi
je 0x180293f3d
mov rcx, qword [rdi]
test rcx, rcx
je 0x180293f35
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0xc0], r13
mov rdx, qword [rsp + 0x138]
cmp rdx, 8
jb 0x180293f97
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0xc8], rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180293f92
add rdx, 0x27
mov qword [rsp + 0xc8], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180293f92
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180388460
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], 7
mov word [rsp + 0x120], r13w
jmp 0x180294120
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + pe_nt_image_headers64]
cmp eax, 2
je 0x180294041
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x150]
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.18000aeb0
nop
mov r9, qword [rsp + 0x48]
test r9, r9
je 0x180294007
mov r8d, ebx
mov rdx, r12
mov rcx, rsi
call fcn.1802915f0
jmp 0x180294036
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov edx, 2
lea r8d, [rdx + 1]
call qword [rax + 0x140]
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov r8d, 3
mov edx, r14d
call qword [rax + 0x140]
nop
lea rcx, [rsp + 0x48]
call fcn.180005560
nop
mov rdx, qword [rsp + 0x138]
cmp rdx, 8
jb 0x18029409b
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180294096
add rdx, 0x27
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180294096
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180388460
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], 7
mov word [rsp + 0x120], r13w
jmp 0x1802940cd
lea rbx, [rsi + 0x38]
mov qword [rsp + 0xe0], rbx
test rbx, rbx
je 0x1802940ed
mov rcx, qword [rbx]
test rcx, rcx
je 0x1802940ed
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r13
cmp byte [r12 + 0x18], 0
je 0x180294105
mov rdx, r12
mov rcx, rsi
call 0x1802926a0
nop
test rbx, rbx
je 0x180294120
mov rcx, qword [rbx]
test rcx, rcx
je 0x180294118
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0xe0], r13
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.180388400
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret