Function at 0x18028d060
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.0x18028d199
xor edi, edi
mov dword [rdx + 0x60], edi
lea rax, [rdx + 0x20]
cmp qword [rdx + 0x38], 8
jb 0x18028d099
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.18000ef20
cmp byte [rsi + 0x18], dil
je 0x18028d177
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x18028d177
mov rax, qword [rcx]
lea rdx, [rsi + 0x20]
call qword [rax + 0x58]
cmp eax, 2
jne 0x18028d177
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.0x18028d199
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x28d4b8]
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 0x18028d1c3
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
test rdi, rdi
je 0x18028d28c
lea r9, [rsi + 0x40]
mov rdx, qword [rsi + 8]
mov rcx, rbp
call fcn.18028fe10
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x18028d1f2
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
movzx eax, byte [rbp + 0x50]
test rbx, rbx
je 0x18028d269
test al, al
je 0x18028d21d
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 0x18028d27d
mov rax, qword [rcx]
mov rdx, qword [rsi + 8]
call qword [rax + 0x20]
test al, al
je 0x18028d27d
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 0x18028d27d
test al, al
jne 0x18028d27d
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x188]
nop
test rbx, rbx
je 0x18028d28c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
test rdi, rdi
je case.default.0x18028d199
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.0x18028d199
mov qword [rsp + 0x88], rdi
lea r9, [rsp + 0x88]
mov r8d, 2
mov rdx, rsi
call fcn.18028ff60
test al, al
je 0x18028d30b
mov qword [rsp + 0x90], rdi
lea r9, [rsp + 0x90]
mov r8d, 1
mov rdx, rsi
call fcn.18028ff60
test al, al
jne 0x18028d32d
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x18028d30b
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je case.default.0x18028d199
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 0x18028d352
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 0x18028d39c
test r14, r14
je 0x18028d379
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x118]
cmp eax, 1
je 0x18028d39c
mov rdi, qword [rsp + 0x90]
mov r9, rdi
mov rbx, qword [rsp + 0x88]
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.180291600
jmp 0x18028d3d3
mov rdi, qword [rsp + 0x90]
mov r9, rdi
mov rbx, qword [rsp + 0x88]
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.180290ca0
test al, al
jne 0x18028d3d3
mov r9, rdi
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.180291600
nop
test r14, r14
je 0x18028d3e2
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
nop
test rdi, rdi
je 0x18028d3f1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
test rbx, rbx
je case.default.0x18028d199
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.0x18028d199.9
mov rdx, rsi
mov rcx, rbp
test r8b, 8
jne 0x18028d467
call fcn.18028dd40
cmp byte [rsi + 0x18], dil
je case.default.0x18028d199
mov rdx, rsi
mov rcx, rbp
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x180290b90
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 0x18028e6d0
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 0x180291af0
mov rdx, rsi
mov rcx, rbp
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x180291e50
mov rdx, rsi
mov rcx, rbp
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x1802901c0
mov rdx, rsi
mov rcx, rbp
call fcn.18028f480
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 [0x1804cc010]
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 0x18028e758
test bl, 8
je 0x18028e758
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 0x18028e811
lea rcx, [rsp + 0x40]
call fcn.180005560
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 8
jb 0x18028e7f2
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0x60], rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18028e7ed
add rdx, 0x27
mov qword [rsp + 0x60], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18028e7ed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180386950
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], 7
mov word [rsp + 0x78], r15w
jmp 0x18028e8cf
movzx eax, word [rsp + 0x5c]
mov word [rsp + 0x20], ax
xor r9d, r9d
mov r8, qword [rsp + 0x40]
mov rdx, rsi
call fcn.1802900d0
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.180290010
nop
lea rcx, [rsp + 0x40]
call fcn.180005560
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 8
jb 0x18028e8b5
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0x68], rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18028e8b0
add rdx, 0x27
mov qword [rsp + 0x68], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18028e8b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180386950
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.1803868f0
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 [0x1804cc010]
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 0x180290a22
cmp qword [rcx + 0x48], r12
je 0x180290a22
cmp qword [rcx + 0x60], r12
je 0x180290a22
mov rax, qword [rcx + 0x78]
test rax, rax
jne 0x180290387
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.1801fce90
test al, al
je 0x180290324
cmp qword [rbp - 0x78], 3
jb 0x180290324
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 0x180290368
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180290363
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180290363
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180386950
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
mov rax, qword [r13 + 0x78]
test rax, rax
je 0x180290a22
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.180213f00
test al, al
je 0x180290420
cmp qword [rbp + 0x100], 0x40000000
jb 0x18029043e
mov qword [rsp + 0x30], r12
lea rdx, [r15 + 0x20]
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rcx, qword [r13 + 0x60]
call fcn.18026ee00
test eax, eax
jne 0x180290446
xor dil, dil
jmp 0x1802909f6
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 0x1802909e9
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.180386914
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.18015e700
movzx esi, al
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x180290517
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x18029050a
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x18029050a
mov qword [rbx], 0xffffffffffffffff
mov edx, 8
mov rcx, rbx
call fcn.180386950
mov qword [rsp + 0x28], r12
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x18029055f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18029055a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18029055a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180386950
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
test sil, sil
je 0x1802909e0
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 0x1802905f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802905f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1802905f3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180386950
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 0x18029067a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
test rsi, rsi
jne 0x180290687
xor dil, dil
jmp 0x1802909d0
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 0x1802906ac
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
test r14, r14
jne 0x1802906b9
xor dil, dil
jmp 0x1802909c1
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 0x1802906e1
lea r8, [rbp - 0x60]
lea rcx, [rbp - 0x40]
call fcn.180290a50
jmp 0x1802906ea
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 0x1802909af
mov ecx, dword [rbp - 0x14]
sub ecx, dword [rbp - 0x1c]
cmp eax, ecx
jl 0x1802909af
cmp edi, edx
jne 0x180290746
cmp eax, ecx
jne 0x180290746
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x158]
jmp 0x180290756
lea r9, [rbp - 0x20]
mov rdx, qword [r15 + 8]
mov rcx, r13
call fcn.18028fe10
test rax, rax
mov rdi, rax
je 0x1802909af
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
mov rbx, rdi
mov qword [rsp + 0x30], rbx
test rbx, rbx
je 0x1802909af
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 0x18029082b
mov rcx, qword [r15 + 8]
mov rdx, qword [rcx]
call qword [rdx + 0x118]
movzx edi, ax
cmp r12d, 2
jne 0x180290803
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 0x180290867
mov r8d, dword [rbp - 0x10]
mov edx, r8d
mov ecx, dword [rbp - 0xc]
movzx eax, di
add eax, 0xfffffffb
cmp eax, 3
ja 0x180290823
mov edx, ecx
mov ecx, r8d
mov dword [rbp - 0x10], edx
mov dword [rbp - 0xc], ecx
jmp 0x180290867
cmp r12d, 0x22
jne 0x180290867
mov r8d, dword [rbp - 0x10]
mov edx, r8d
mov ecx, dword [rbp - 0xc]
movzx eax, di
add eax, 0xfffffffb
cmp eax, 3
ja 0x180290823
mov edx, ecx
mov ecx, r8d
mov dword [rbp - 0x10], edx
mov dword [rbp - 0xc], ecx
jmp 0x180290867
cmp r12d, 0x22
jne 0x180290867
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.180386914
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.1800a8170
mov ecx, 0x28
call fcn.180386914
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.1800a8200
mov ecx, 0x18
call fcn.180386914
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.1800a8170
cmp r12d, 0xd
je 0x18029093d
cmp r12d, 0x14
mov r8d, 2
jne 0x180290943
mov r8d, 0xd
mov rax, qword [rbx]
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call qword [rax + ILFree]
test al, al
je 0x1802909a0
mov rcx, qword [r15 + 8]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x50]
call qword [rax + 0xb0]
test al, al
je 0x1802909a0
mov rax, qword [rsi]
mov r8d, 2
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call qword [rax + ILFree]
test al, al
je 0x1802909a0
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x10]
mov rcx, qword [r13 + 0x60]
call fcn.18026f670
movzx edi, al
jmp 0x1802909a3
xor dil, dil
lea rcx, [rsp + 0x40]
call fcn.18009eb30
jmp 0x1802909b2
xor dil, dil
test rbx, rbx
je 0x1802909c1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
test r14, r14
je 0x1802909d0
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
nop
test rsi, rsi
je 0x1802909ec
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
jmp 0x1802909ec
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 0x180290a24
xor al, al
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.1803868f0
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 [0x1804cc010]
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 0x180290bdb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
nop
test rbx, rbx
je 0x180290c65
test byte [rdi + 0x10], 4
je 0x180290c65
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + pe_nt_image_headers64]
cmp eax, 3
jne 0x180290c65
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.18028cc00
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.18028d950
nop
lea rcx, [rsp + 0x50]
call fcn.180004e20
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180290c59
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rax, vtable.ILoadImageCallBack.0
mov qword [rsp + 0x30], rax
test rbx, rbx
je 0x180290c73
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1803868f0
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 [0x1804cc010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r14d, r8d
mov rbx, rdx
mov rsi, rcx
cmp qword [rdx + 8], 0
je 0x180291e1e
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax]
test al, al
jne 0x180291e1e
cmp qword [rsi + 0x48], 0
je 0x180291e1e
test r14b, 8
je 0x180291e1e
cmp byte [rbx + 0x18], al
jne 0x180291b73
mov rdx, rbx
mov rcx, rsi
call fcn.18028d4f0
test al, al
jne 0x180291e1e
mov byte [rbp - 0x29], 0
test r14b, 4
je 0x180291b8c
lea r8, [rbp - 0x29]
mov rdx, rbx
mov rcx, rsi
call fcn.18028f0e0
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
mov edx, 2
call qword [rax + pe_nt_image_headers64]
cmp eax, 2
jne 0x180291bb6
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x180291bb6
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 0x180291dc9
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 0x180291ca6
lea edx, [r15 + 6]
test al, al
jne 0x180291caf
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 0x180291cc3
mov rax, qword [rcx]
lea r8d, [r15 + 0x10]
mov rdx, rbx
call qword [rax + 8]
jmp 0x180291cc3
test al, al
je 0x180291cf7
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 0x180291cd3
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp byte [rbp + 3], 0
jne 0x180291dc9
mov rax, qword [rdi]
mov edx, 6
lea r8d, [rdx - 3]
mov rcx, rdi
call qword [rax + 0x140]
jmp 0x180291dc9
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x38]
cmp eax, 0xffffffff
jne 0x180291d13
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.1802900d0
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 0x180291db9
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 0x180291da0
mov rdx, rbx
mov rcx, rsi
call fcn.18028eef0
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x180291db9
mov rax, qword [rcx]
mov r8d, 0x10
mov rdx, rbx
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x180291dc9
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x27]
cmp rdx, 8
jb 0x180291e0c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180291e07
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180291e07
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180386950
movdqa xmm0, xmmword [0x1803e7600]
movdqu xmmword [rbp + 0x1f], xmm0
mov word [rbp + 0xf], r15w
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1803868f0
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 [0x1804cc010]
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 0x180292610
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax]
test al, al
jne 0x180292610
cmp qword [rsi + 0x48], 0
je 0x180292610
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 0x180291ef6
mov rcx, qword [rdi]
test rcx, rcx
je 0x180291ef6
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r12
test rdi, rdi
je 0x180291f1a
mov rcx, qword [rdi]
test rcx, rcx
je 0x180291f0d
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor r13d, r13d
mov qword [rsp + 0xb0], r13
jmp 0x180291f1d
xor r13d, r13d
mov byte [rsp + 0x40], 0
test bl, 4
je 0x180291f37
lea r8, [rsp + 0x40]
mov rdx, r12
mov rcx, rsi
call fcn.18028f0e0
mov rax, qword [r12]
mov rcx, r12
call qword [rax]
test al, al
je 0x180291f7e
mov qword [rsp + 0x68], rdi
test rdi, rdi
je 0x180291f5d
mov rcx, qword [rdi]
test rcx, rcx
je 0x180291f5d
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r13
test rdi, rdi
je 0x180291f79
mov rcx, qword [rdi]
test rcx, rcx
je 0x180291f74
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x68], r13
jmp 0x180292610
test bl, 1
jne 0x180291fe3
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov edx, 1
call qword [rax + pe_nt_image_headers64]
cmp eax, 2
je 0x180291fa9
mov r8d, ebx
mov rdx, r12
mov rcx, rsi
call fcn.18028f690
mov qword [rsp + 0x70], rdi
test rdi, rdi
je 0x180291fc2
mov rcx, qword [rdi]
test rcx, rcx
je 0x180291fc2
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r13
test rdi, rdi
je 0x180291fde
mov rcx, qword [rdi]
test rcx, rcx
je 0x180291fd9
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x70], r13
jmp 0x180292610
mov rcx, qword [r12 + 0x58]
test rcx, rcx
je 0x180292074
mov rax, qword [rcx]
call qword [rax + 0x38]
test al, al
je 0x180292074
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 0x180292125
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x180292125
mov rax, qword [rcx]
lea rdx, [rsp + 0x140]
call qword [rax + 0x180]
test al, al
je 0x180292125
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 0x180292118
mov rdx, qword [r12 + 8]
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x160], xmm0
test rdx, rdx
je 0x1802920a1
lea r8, [rsp + 0x160]
lea rcx, [rsp + 0xf0]
call fcn.180290a50
jmp 0x1802920b2
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 0x180292118
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 0x180292115
cmp ecx, edx
cmovg edx, ecx
mov ecx, edx
jmp 0x180292118
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 0x180292152
mov rcx, qword [r12 + 0x58]
test rcx, rcx
je 0x180292152
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 0x1802923e1
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 0x180292320
movzx eax, byte [r12 + 0x52]
xor edx, edx
test al, al
jne 0x18029225f
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 0x180292258
mov rax, qword [rcx]
mov r8d, r14d
mov rdx, r12
call qword [rax + 8]
mov rbx, qword [rsp + 0x60]
jmp 0x18029227c
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 0x1802922a4
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 0x1802922fe
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802922f9
add rdx, 0x27
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1802922f9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180386950
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], 7
mov word [rsp + 0x120], r13w
jmp 0x180292610
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
call qword [rax + 0x38]
cmp eax, 0xffffffff
jne 0x18029233f
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.1802900d0
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.180290010
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 0x1802924a9
mov qword [rsp + 0xc0], rdi
test rdi, rdi
je 0x18029240e
mov rcx, qword [rdi]
test rcx, rcx
je 0x18029240e
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r13
test rdi, rdi
je 0x18029242d
mov rcx, qword [rdi]
test rcx, rcx
je 0x180292425
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0xc0], r13
mov rdx, qword [rsp + 0x138]
cmp rdx, 8
jb 0x180292487
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0xc8], rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180292482
add rdx, 0x27
mov qword [rsp + 0xc8], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180292482
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180386950
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], 7
mov word [rsp + 0x120], r13w
jmp 0x180292610
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + pe_nt_image_headers64]
cmp eax, 2
je 0x180292531
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 0x1802924f7
mov r8d, ebx
mov rdx, r12
mov rcx, rsi
call fcn.18028fae0
jmp 0x180292526
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 0x18029258b
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180292586
add rdx, 0x27
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180292586
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180386950
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], 7
mov word [rsp + 0x120], r13w
jmp 0x1802925bd
lea rbx, [rsi + 0x38]
mov qword [rsp + 0xe0], rbx
test rbx, rbx
je 0x1802925dd
mov rcx, qword [rbx]
test rcx, rcx
je 0x1802925dd
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rsi + 0x58], r13
cmp byte [r12 + 0x18], 0
je 0x1802925f5
mov rdx, r12
mov rcx, rsi
call 0x180290b90
nop
test rbx, rbx
je 0x180292610
mov rcx, qword [rbx]
test rcx, rcx
je 0x180292608
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0xe0], r13
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1803868f0
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