Function at 0x140120e40
Capabilities:
Accept command line arguments
Create thread
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x16b0]
mov eax, 0x17b0
call fcn.1400b3040
sub rsp, rax
mov rax, qword [0x1401b8010]
xor rax, rsp
mov qword [rbp + 0x16a0], rax
mov rdi, rcx
xor r12d, r12d
mov dword [rsp + 0x60], r12d
call qword [sym.imp.WINMM.dll_timeGetTime]
mov dword [rbp + 0x1280], eax
mov r14, 0xffffffffffffffff
mov r9, r14
lea r8, [0x14017dcf8]
mov edx, 0x102
lea rcx, [rbp + 0x1284]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
lea r8, [0x1401815c4]
mov edx, 0x104
lea rcx, [rbp + 0x1284]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov r9, r14
lea r8, [0x14017dcf8]
mov edx, 0x104
lea rcx, [rbp + 0x148c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
mov ecx, dword [0x1401c1658]
mov eax, dword [0x1401c165c]
lea r15d, [r12 + 1]
lea r13, str.____s
add ecx, eax
je 0x140120fa8
mov dword [rsp + 0x70], r12d
call fcn.140005ad0
mov qword [rsp + 0x68], rax
lock inc dword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x140120f3a
call fcn.140005ad0
mov qword [rsp + 0x68], rax
lock inc dword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov dword [rbp - 0x40], 0x20
lea rax, [rbp + 0x1284]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
lea rax, [rbp + 0x148c]
mov qword [rsp + 0x20], rax
lea r9, [0x140000000]
lea r8, [rbp - 0x40]
movsx edx, r15w
call fcn.140004c90
nop
mov qword [rsp + 0x68], r12
mov eax, r14d
lock xadd dword [rsp + 0x70], eax
cmp eax, 1
js 0x140120fa3
nop dword [rax + rax]
call fcn.140005e40
mov eax, r14d
lock xadd dword [rsp + 0x70], eax
cmp eax, 1
jns 0x140120f90
lock inc dword [rsp + 0x70]
mov rbx, qword [rdi + 0x1c0]
mov rcx, qword [rbx + 0x878]
call fcn.1400b8660
mov rsi, qword [rbx + 0x840]
mov rcx, rsi
call fcn.1400bfc20
test eax, eax
je 0x140120fd6
mov rax, qword [rsi + 0x38]
mov qword [rsi + 0x40], rax
mov rcx, rbx
call fcn.1400eb450
mov rcx, rbx
call fcn.140101420
mov rcx, rbx
call fcn.140100fa0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rsi, rax
test rax, rax
jne 0x140121004
mov edx, r14d
jmp 0x140121234
lea r13, str.crash
mov rdx, r13
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x1401210c0
cmp rax, rsi
jbe 0x14012103c
movzx eax, word [rax - 2]
cmp ax, 0x20
je 0x14012103c
cmp ax, 9
jne 0x1401210c0
add rbx, 0xe
mov edx, 0x23
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov r10, rax
test rax, rax
je 0x1401210c0
movzx eax, word [rax + 2]
cmp eax, 0x20
ja 0x1401210c0
movabs rcx, 0x100000201
bt rcx, rax
jae 0x1401210c0
mov edx, r12d
mov r9d, r12d
cmp rbx, r10
jae 0x1401210c0
nop word [rax + rax]
movzx r8d, word [rbx]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x1401210c0
cmp edx, 0x5265c00
ja 0x1401210c0
inc r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx - 0x18]
lea edx, [r8 + rdx*2]
add rbx, 2
cmp rbx, r10
jb 0x140121080
test r9d, r9d
je 0x1401210c0
mov qword [0x1401c1630], r13
test edx, edx
jns 0x14012122d
lea r13, [0x1401873c8]
mov rdx, r13
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x140121172
cmp rax, rsi
jbe 0x1401210f4
movzx eax, word [rax - 2]
cmp ax, 0x20
je 0x1401210f4
cmp ax, 9
jne 0x140121172
add rbx, 0xe
mov edx, 0x23
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov r10, rax
test rax, rax
je 0x140121172
movzx eax, word [rax + 2]
cmp eax, 0x20
ja 0x140121172
movabs rcx, 0x100000201
bt rcx, rax
jae 0x140121172
mov edx, r12d
mov r9d, r12d
cmp rbx, r10
jae 0x140121172
movzx r8d, word [rbx]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x140121172
cmp edx, 0x5265c00
ja 0x140121172
inc r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx - 0x18]
lea edx, [r8 + rdx*2]
add rbx, 2
cmp rbx, r10
jb 0x140121132
test r9d, r9d
je 0x140121172
mov qword [0x1401c1630], r13
test edx, edx
jns 0x14012122d
lea r13, [0x1401873d8]
mov rdx, r13
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14012122a
cmp rax, rsi
jbe 0x1401211aa
movzx eax, word [rax - 2]
cmp ax, 0x20
je 0x1401211aa
cmp ax, 9
jne 0x14012122a
add rbx, 0x16
mov edx, 0x23
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov r10, rax
test rax, rax
je 0x14012122a
movzx eax, word [rax + 2]
cmp eax, 0x20
ja 0x14012122a
movabs rcx, 0x100000201
bt rcx, rax
jae 0x14012122a
mov edx, r12d
mov r9d, r12d
cmp rbx, r10
jae 0x14012122a
nop dword [rax + rax]
movzx r8d, word [rbx]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x14012122a
cmp edx, 0x5265c00
ja 0x14012122a
inc r9d
lea edx, [rdx + rdx*4]
lea edx, [rdx - 0x18]
lea edx, [r8 + rdx*2]
add rbx, 2
cmp rbx, r10
jb 0x1401211f0
test r9d, r9d
je 0x14012122a
mov qword [0x1401c1630], r13
jmp 0x14012122d
mov edx, r14d
lea r13, str.____s
lea rcx, [rbp - 0x18]
call fcn.140122150
nop
mov rcx, qword [rdi + 0x3d8]
mov rax, qword [rcx]
lea rdx, [rbp + 0xc0]
mov rax, qword [rax + 8]
call qword [case.0x140077645.0]
nop
lea rcx, [0x1401825bf]
mov rax, qword [rbp + 0xf0]
test rax, rax
cmovne rcx, rax
mov rax, r14
inc rax
cmp byte [rcx + rax], 0
jne 0x140121272
test rax, rax
jne 0x14012128d
cmp dword [rdi + 0x59c], 0xb
je 0x140121321
cmp dword [rdi + 0x59c], 9
je 0x140121321
mov rcx, qword [rdi + 0x430]
test rcx, rcx
je 0x140121321
mov rax, qword [rcx]
movabs rdx, 0xb5ec0b4c4317d28f
mov qword [rbp], rdx
movabs rdx, 0x5313860d78f948df
mov qword [rbp + 8], rdx
lea rdx, [rbp]
mov rax, qword [rax]
call qword [case.0x140077645.0]
mov r10, rax
test rax, rax
je 0x140121321
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
mov dword [rsp + 0x50], 3
mov dword [rsp + 0x48], 4
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8d, [r9 + 0x18]
mov edx, dword [rdi + 0x59c]
mov rcx, r10
call qword [case.0x140077645.0]
nop
lea rcx, [rbp + 0xc0]
call fcn.140028c00
mov rcx, rdi
call fcn.14011da20
test al, al
jne 0x1401213ea
mov rcx, qword [rdi + 0x3d8]
mov rax, qword [rcx]
lea rdx, [rbp + 0x30]
mov rax, qword [rax + 8]
call qword [case.0x140077645.0]
nop
cmp byte [rbp + 0x40], 0
jne 0x140121367
mov eax, dword [rbp + 0x38]
add eax, 0xfffffff3
cmp eax, 1
jbe 0x140121380
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x1401213a2
mov rcx, qword [rax - 0xc]
test rcx, rcx
je 0x1401213a2
cmp qword [rcx + 8], 0
je 0x1401213a2
lea rcx, [rbp + 0x30]
call fcn.140028c00
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.140128e30
mov rcx, rdi
call fcn.14011c840
test al, al
jmp 0x140121402
call fcn.14011de30
test al, al
je 0x1401213cd
mov rcx, rdi
call fcn.14011e140
test al, al
jne 0x1401213cd
cmp byte [rdi + 0x569], al
je 0x1401213cd
lea rcx, [rbp + 0x30]
call fcn.140028c00
jmp 0x140121d2d
xor edx, edx
mov rcx, qword [rdi + 0x1c0]
call fcn.1400d16e0
nop
lea rcx, [rbp + 0x30]
call fcn.140028c00
jmp 0x140121d2d
mov rcx, rdi
call fcn.14011d5d0
test al, al
jne 0x140121408
mov rcx, rdi
call fcn.14011c430
cmp rax, 1
jne 0x140121d2d
movzx eax, byte [rdi + 0x468]
test al, al
jne 0x140121d2d
mov rcx, qword [rdi + 0x458]
mov rax, qword [rcx]
lea r8, [0x14017de78]
mov edx, 0xcb
mov rax, qword [rax + 0x30]
call qword [case.0x140077645.0]
test rax, rax
je 0x14012153c
cmp word [rax], 0x3c
je 0x14012153c
mov dword [rbp - 0x58], r12d
mov dword [rbp - 0x3c], 4
lea rcx, [rbp - 0x3c]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x58]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r12
mov r9d, 0x10
lea r8, str.IsDecryptersFlow
mov rdx, rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
je 0x1401214ad
mov dword [rbp + 0x10], eax
lea rax, [0x1401b9210]
mov qword [rbp + 0x18], rax
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x20], xmm0
mov rdx, qword [rbp + 0x28]
mov ecx, dword [rbp + 0x20]
jmp 0x1401214b7
mov ecx, r12d
lea rdx, [0x1401b91d8]
mov rax, qword [0x1401b91e0]
cmp qword [rdx + 8], rax
jne 0x1401214cd
test ecx, ecx
jne 0x1401214cd
mov ebx, dword [rbp - 0x58]
jmp 0x1401214d4
mov ebx, r12d
test ecx, ecx
jne 0x14012153c
xor edx, edx
mov r8d, 0x41c
lea rcx, [rbp + 0xa34]
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0xe50], 1
mov qword [rbp + 0xa20], 0xffffffff80000002
mov dword [rbp + 0xa28], 4
mov dword [rbp + 0xa2c], 0xa
mov dword [rbp + 0xa30], 4
lea rdx, [rbp + 0xa20]
mov rcx, rdi
call fcn.140128880
test ebx, ebx
je 0x14012153c
mov rcx, rdi
call fcn.14011cce0
jmp 0x140121d2d
lea rcx, [0x1401c15e8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [0x1401c15e0], 0
jne 0x14012155f
lea rcx, [0x1401c15c0]
call fcn.140047ce0
lea rcx, [0x1401c15e8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp qword [0x1401c15e0], 0
je 0x140121762
lea rcx, [0x1401c15e8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [0x1401c15e0], 0
jne 0x14012159d
lea rcx, [0x1401c15c0]
call fcn.140047ce0
lea rcx, [0x1401c15e8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x1401c15e0]
test rcx, rcx
je 0x1401215d4
mov rax, qword [rcx]
lea r8, [0x140167ae8]
mov edx, 0xc9
mov rax, qword [rax + 0x30]
call qword [case.0x140077645.0]
mov rbx, rax
jmp 0x1401215db
lea rbx, str._error_interface_not_inited_
lea rdx, [0x140167998]
mov rcx, r12
movzx eax, word [rdx + rcx*2]
cmp ax, word [rbx + rcx*2]
jne 0x14012160a
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [rbx + rcx*2 + 2]
jne 0x14012160a
add rcx, 2
cmp rcx, 0x12
jne 0x1401215e5
jmp 0x140121762
mov dword [rbp - 0x54], r12d
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14012165a
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov r9d, 0x20219
xor r8d, r8d
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14012168a
mov dword [rbp - 0x38], 4
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x54]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.ProductUpgrade
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rbp - 0x54], 0
je 0x140121762
lea rcx, [rbp + 0x570]
call fcn.140078ea0
lea rax, vtable.CEulaDlg.0
mov qword [rbp + 0x570], rax
lea rax, vtable.CEulaDlg.1.0
mov qword [rbp + 0x598], rax
mov dword [rbp + 0x5b4], 0x820a0008
mov dword [rbp + 0x5b8], 0xd0000
mov rax, qword [rdi + 0x438]
mov qword [rbp + 0xa18], rax
mov rax, qword [0x1401b9328]
mov qword [rbp + 0x7e0], rax
mov rax, qword [0x1401b9330]
mov qword [rbp + 0x7e8], rax
xor r9d, r9d
xor edx, edx
mov r8d, 0xcc
lea rcx, [rbp + 0x598]
call fcn.140079080
mov r8d, r15d
mov edx, r15d
lea rcx, [rbp + 0x570]
call fcn.140079430
mov rbx, rax
lea rax, vtable.bdHtmlDlg.1.0
mov qword [rbp + 0x570], rax
lea rax, vtable.bdHtmlDlg.0
mov qword [rbp + 0x598], rax
lea rcx, [rbp + 0x570]
call fcn.140078b20
cmp rbx, 1
jne 0x140121d2d
mov rcx, qword [rdi + 0x1c0]
call fcn.1400feae0
mov rbx, qword [rdi + 0x1c0]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov dword [rbp + 0xe60], eax
mov r9, r14
lea r8, str.CMainDialog::thLoadPlugins
mov edx, 0x102
lea rcx, [rbp + 0xe64]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
lea r8, [0x1401815c4]
mov edx, 0x104
lea rcx, [rbp + 0xe64]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov r9, r14
lea r8, str.CMainDialog::thLoadPlugins
mov edx, 0x104
lea rcx, [rbp + 0x106c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
mov ecx, dword [0x1401c1658]
mov eax, dword [0x1401c165c]
add ecx, eax
je 0x140121876
mov dword [rbp - 0x80], r12d
call fcn.140005ad0
mov qword [rsp + 0x78], rax
lock inc dword [rbp - 0x80]
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x140121810
call fcn.140005ad0
mov qword [rsp + 0x78], rax
lock inc dword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
mov dword [rbp - 0x34], 0x20
lea rax, [rbp + 0xe64]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
lea rax, [rbp + 0x106c]
mov qword [rsp + 0x20], rax
lea r9, [0x140000000]
lea r8, [rbp - 0x34]
movsx edx, r15w
call fcn.140004c90
nop
mov qword [rsp + 0x78], r12
mov eax, r14d
lock xadd dword [rbp - 0x80], eax
cmp eax, 1
js 0x140121872
call fcn.140005e40
mov eax, r14d
lock xadd dword [rbp - 0x80], eax
cmp eax, 1
jns 0x140121860
lock inc dword [rbp - 0x80]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 0x80
mov r9, rbx
lea r8, [0x140039520]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x828], rax
lea rcx, [rbp + 0xe60]
call fcn.140004e30
mov rcx, qword [rdi + 0x1c0]
mov rax, qword [rcx]
mov rdx, qword [0x1401b9328]
mov rax, qword [rax + 0x130]
call qword [case.0x140077645.0]
mov rcx, qword [rdi + 0x1c0]
mov rax, qword [rcx]
mov rdx, qword [0x1401b9330]
mov rax, qword [rax + 0x138]
call qword [case.0x140077645.0]
mov rcx, qword [rdi + 0x1c0]
add rcx, 0x28
mov rax, qword [rcx]
xor r9d, r9d
xor edx, edx
mov r8d, 0xca
mov rax, qword [rax + 0x10]
call qword [case.0x140077645.0]
mov rcx, qword [rdi + 0x1c0]
add rcx, 0x28
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [case.0x140077645.0]
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1401219dc
mov ecx, dword [0x1401c1658]
mov eax, dword [0x1401c165c]
add ecx, eax
je 0x140121998
mov dword [rbp - 0x48], r12d
call fcn.140005ad0
mov qword [rbp - 0x50], rax
lock inc dword [rbp - 0x48]
mov dword [rsp + 0x60], r15d
lea rcx, [rbp - 0x50]
call fcn.140005a30
mov dword [rbp - 0x30], 4
lea rcx, str.frame_window_creation_failed
mov qword [rsp + 0x28], rcx
lea rcx, [0x14017de48]
mov qword [rsp + 0x20], rcx
lea r9, [0x140000000]
lea r8, [rbp - 0x30]
movsx edx, r12w
mov rcx, rax
call fcn.140004c90
jmp 0x14012199d
mov r15d, dword [rsp + 0x60]
test r15b, 1
je 0x140121d2d
and r15d, 0xfffffffe
mov dword [rsp + 0x60], r15d
mov qword [rbp - 0x50], r12
mov eax, r14d
lock xadd dword [rbp - 0x48], eax
cmp eax, 1
js 0x1401219d3
call fcn.140005e40
mov eax, r14d
lock xadd dword [rbp - 0x48], eax
cmp eax, 1
jns 0x1401219c1
lock inc dword [rbp - 0x48]
jmp 0x140121d2d
lea rcx, [0x1401c15e8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [0x1401c15e0], 0
jne 0x1401219ff
lea rcx, [0x1401c15c0]
call fcn.140047ce0
lea rcx, [0x1401c15e8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x1401c15e0]
test rcx, rcx
je 0x140121a62
mov rax, qword [rcx]
mov rax, qword [rax + 0x88]
call qword [case.0x140077645.0]
mov rbx, rax
mov qword [rdi + 0x1b8], rax
test rax, rax
je 0x140121a69
mov rdx, qword [rdi + 0x1c0]
mov rcx, qword [rdx + 0x28]
mov rax, qword [rcx]
lea rcx, [rdx + 0x28]
call qword [case.0x140077645.0]
mov r8, rbx
mov edx, 0xfffffff2
mov rcx, rax
call qword [sym.imp.USER32.dll_SetClassLongPtrW]
jmp 0x140121a69
mov qword [rdi + 0x1b8], r12
mov rcx, qword [rdi + 0x4e8]
test rcx, rcx
je 0x140121a99
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140077645.0]
test al, al
je 0x140121a99
lea rcx, [rdi + 0x1b0]
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [case.0x140077645.0]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov dword [rbp + 0x150], eax
mov dword [rbp + 0x154], 0x5b
mov r9, r14
lea r8, str.init_plugin_manager
mov edx, 0x102
lea rcx, [rbp + 0x156]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
lea r8, [0x140183930]
mov edx, 0x104
lea rcx, [rbp + 0x154]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov r9, r14
lea r8, str.CSecurityCenterApp::Run
mov edx, 0x104
lea rcx, [rbp + 0x35c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
mov ecx, dword [0x1401c1658]
mov eax, dword [0x1401c165c]
add ecx, eax
je 0x140121ba6
mov dword [rbp - 0x70], r12d
call fcn.140005ad0
mov qword [rbp - 0x78], rax
lock inc dword [rbp - 0x70]
mov rax, qword [rbp - 0x78]
test rax, rax
jne 0x140121b3b
call fcn.140005ad0
mov qword [rbp - 0x78], rax
lock inc dword [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
mov dword [rbp - 0x2c], 0x20
lea rax, [rbp + 0x154]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
lea rax, [rbp + 0x35c]
mov qword [rsp + 0x20], rax
lea r9, [0x140000000]
lea r8, [rbp - 0x2c]
movsx edx, r15w
call fcn.140004c90
nop
mov qword [rbp - 0x78], r12
mov eax, r14d
lock xadd dword [rbp - 0x70], eax
cmp eax, 1
js 0x140121ba2
nop dword [rax]
call fcn.140005e40
mov eax, r14d
lock xadd dword [rbp - 0x70], eax
cmp eax, 1
jns 0x140121b90
lock inc dword [rbp - 0x70]
mov rcx, qword [rdi + 0x1c0]
add rcx, 0x28
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [case.0x140077645.0]
mov r12, rax
mov rcx, qword [rdi + 0x378]
mov rax, qword [rcx + 0x28]
lea rcx, [rdi + 0x378]
call qword [case.0x140077645.0]
mov r13, rax
xor ebx, ebx
mov dword [rbp - 8], ebx
lea r14, [rdi + 0x1e0]
mov qword [rbp - 0x10], r14
test r14, r14
je 0x140121bff
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, r15d
mov dword [rbp - 8], ebx
mov rax, qword [rdi + 0x1c8]
lea rcx, [rdi + 0x1c8]
mov rax, qword [rax + 0x18]
call qword [case.0x140077645.0]
mov qword [rdi + 0x208], r12
mov qword [rdi + 0x210], r13
mov esi, ebx
test ebx, ebx
jle 0x140121c4d
nop dword [rax + rax]
test r14, r14
je 0x140121c44
test ebx, ebx
jle 0x140121c44
dec ebx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
dec esi
test esi, esi
jg 0x140121c30
mov dword [rbp - 8], ebx
mov ecx, dword [0x1401c1658]
mov eax, dword [0x1401c165c]
add ecx, eax
je 0x140121d0e
xor r12d, r12d
mov dword [rbp - 0x60], r12d
call fcn.140005ad0
mov qword [rbp - 0x68], rax
lock inc dword [rbp - 0x60]
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x140121c8b
call fcn.140005ad0
mov qword [rbp - 0x68], rax
lock inc dword [rbp - 0x60]
mov rbx, qword [rbp - 0x68]
call qword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [rbp + 0x150]
mov dword [rbp - 0x28], 0x20
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0x154]
mov qword [rsp + 0x30], rax
lea rax, str.____s___d_
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x35c]
mov qword [rsp + 0x20], rax
lea r9, [0x140000000]
lea r8, [rbp - 0x28]
mov rsi, 0xffffffffffffffff
movsx edx, si
mov rcx, rbx
call fcn.140004c90
mov qword [rbp - 0x68], r12
mov eax, esi
lock xadd dword [rbp - 0x60], eax
cmp eax, 1
js 0x140121d08
call fcn.140005e40
mov eax, esi
lock xadd dword [rbp - 0x60], eax
cmp eax, 1
jns 0x140121cf7
lock inc dword [rbp - 0x60]
jmp 0x140121d11
xor r12d, r12d
mov rcx, qword [rdi + 0x1c0]
mov rax, qword [rcx]
mov r8d, r15d
xor edx, edx
mov rax, qword [rax + 0xf8]
call qword [case.0x140077645.0]
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0xe0]
call qword [case.0x140077645.0]
mov edi, eax
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x140121d8c
mov rcx, qword [rbx + 0x20]
call fcn.140059e80
lea rdx, [rbx + 0x28]
cmp byte [rbx + 0x68], 0
je 0x140121d7e
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x140121d7e
mov rax, qword [rcx]
cmp rcx, rdx
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x140077645.0]
mov qword [rbx + 0x60], r12
mov edx, 0x78
mov rcx, rbx
call fcn.14007e2a0
nop
lea rcx, [rbp + 0x1280]
call fcn.140004e30
mov eax, edi
mov rcx, qword [rbp + 0x16a0]
xor rcx, rsp
call fcn.14007e250
lea r11, [rsp + 0x17b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret