Function at 0x1400584f0
Capabilities:
Query environment variable
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4a8]
sub rsp, 0x5a8
mov rax, qword [0x14033e810]
xor rax, rsp
mov qword [rbp + 0x490], rax
mov r15, r9
mov qword [rbp - 0x18], r9
mov rsi, r8
mov qword [rbp - 0x40], r8
mov r8, rcx
mov qword [rbp + 0x18], rcx
mov qword [rbp - 0x60], rdx
mov r13, qword [rbp + 0x510]
mov qword [rbp], r13
mov rcx, qword [rbp + 0x518]
mov qword [rbp - 0x30], rcx
mov rax, qword [rbp + 0x520]
mov qword [rbp - 0x38], rax
mov r12, qword [rbp + 0x528]
mov qword [rbp - 0x10], r12
test rcx, rcx
je 0x140058fd5
cmp qword [r13 + 0x10], 0
je 0x140058fd5
mov rcx, qword [r8 + 8]
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140058fd5
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x280]
call fcn.140241ba0
mov dword [rbp - 8], 0x104
mov dword [rbp - 0x48], 0
mov dword [rbp - 0x54], 0
mov dword [rbp - 0x78], 0
mov dword [rbp - 0x7c], 0
mov eax, 0x20219
mov r9d, 0x20119
cmp dword [rbp + 0x530], 0
cmove r9d, eax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rbp - 0x60]
test eax, eax
jne 0x140058fcf
lea rax, [rbp + 0x30]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x24]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp - 8]
lea rdx, [rbp + 0x280]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov rdi, 0xffffffffffffffff
cmp dword [rbp + 0x550], 0
jne 0x140058679
cmp dword [rbp + 0x558], 0
je 0x140059188
cmp dword [rbp - 0x50], 0
je 0x140059188
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x140058696
mov ecx, eax
call fcn.1400164e0
mov rbx, rax
jmp 0x140058698
xor ebx, ebx
mov qword [rbp - 0x70], rbx
mov ecx, dword [rbp - 0x58]
add rcx, 2
mov eax, 2
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.1400164e0
mov r12, rax
mov qword [rbp + 8], rax
mov r8d, dword [rbp - 0x58]
xor edx, edx
mov rcx, rax
call fcn.140241ba0
xor edi, edi
mov dword [rbp - 0x4c], edi
cmp dword [rbp - 0x50], edi
jbe 0x140058ffa
mov r14d, dword [rbp + 0x540]
mov dword [rbp - 0x80], r14d
nop word [rax + rax]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax + 8]
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140058fbb
test r14d, r14d
je 0x140058f9a
mov eax, dword [rbp - 0x28]
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp - 0x58]
add eax, 2
mov dword [rbp - 0x54], eax
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp - 0x54]
mov r8, r12
mov edx, edi
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x140058e9c
cmp dword [rbp + 0x550], eax
je 0x140058828
cmp dword [rbp - 0x54], 2
jbe 0x140058828
test r12, r12
je 0x140058828
xor edi, edi
xor ebx, ebx
mov rcx, qword [r13 + 0x10]
test rcx, rcx
jle 0x140058824
nop
cmp dword [rbp + 0x560], 0
je 0x1400587e7
test rbx, rbx
js 0x1400592fe
cmp rbx, rcx
jge 0x1400592fe
mov rax, qword [r13 + 8]
mov rdx, qword [rax + rbx*8]
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
jne 0x14005880f
mov ecx, 0x38
call fcn.140095d1c
mov qword [rbp - 0x20], rax
test rax, rax
je 0x1400588f4
mov rcx, rax
call fcn.140055c20
mov rbx, rax
jmp 0x1400588f6
test rbx, rbx
js 0x1400592fe
cmp rbx, rcx
jge 0x1400592fe
mov rax, qword [r13 + 8]
mov rdx, qword [rax + rbx*8]
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x1400587c0
inc edi
inc rbx
mov rcx, qword [r13 + 0x10]
movsxd rax, edi
cmp rax, rcx
jl 0x140058790
mov rbx, qword [rbp - 0x70]
cmp dword [rbp + 0x558], 0
je 0x140058e9c
mov edi, dword [rbp - 0x7c]
test edi, edi
je 0x140058e9c
cmp dword [rbp - 0x78], 1
jne 0x140058a8f
mov rsi, rbx
mov r14d, edi
mov eax, edi
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
je 0x14005889d
add edi, 2
mov r14d, edi
mov eax, 2
mul r14
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400164e0
mov rsi, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.140241ba0
mov r8d, dword [rbp - 0x7c]
mov rdx, rbx
mov rcx, rsi
call fcn.1402414f0
cmp edi, 2
jbe 0x140058a82
cmp dword [rbp + 0x568], 0
jne 0x140058a82
mov r9d, dword [rbp + 0x560]
mov r8, rsi
mov rdx, r13
call fcn.1400573b0
test eax, eax
je 0x140058a82
mov ecx, 0x38
call fcn.140095d1c
mov qword [rbp - 0x20], rax
test rax, rax
je 0x1400589b1
mov rcx, rax
call fcn.140055c20
mov rbx, rax
jmp 0x1400589b3
xor ebx, ebx
lea rcx, [rbx + 8]
mov rdi, 0xffffffffffffffff
test rsi, rsi
jne 0x14005890a
xor eax, eax
jmp 0x14005891a
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140058910
mov r8d, eax
mov rdx, rsi
call fcn.14000df90
lea rcx, [rbx + 0x10]
test r15, r15
jne 0x140058932
xor eax, eax
jmp 0x140058940
mov rax, rdi
inc rax
cmp word [r15 + rax*2], 0
jne 0x140058935
mov r8d, eax
mov rdx, r15
call fcn.14000df90
lea rcx, [rbx + 0x18]
mov rax, rdi
inc rax
cmp word [r12 + rax*2], 0
jne 0x140058952
mov r8d, eax
mov rdx, r12
call fcn.14000df90
mov eax, dword [rbp - 0x78]
mov dword [rbx + 0x20], eax
mov ecx, dword [rbp - 0x7c]
call fcn.1400164e0
mov qword [rbx + 0x28], rax
mov r8d, dword [rbp - 0x7c]
mov rdi, qword [rbp - 0x70]
mov rdx, rdi
mov rcx, rax
call fcn.1402414f0
mov eax, dword [rbp - 0x7c]
mov dword [rbx + 0x30], eax
mov rdx, rbx
mov rcx, qword [rbp - 0x30]
call fcn.1400945a0
dec r14d
mov dword [rbp - 0x80], r14d
mov rax, qword [rbp - 0x38]
inc dword [rax]
jmp 0x140058ea0
xor ebx, ebx
lea rcx, [rbx + 8]
mov rdx, qword [rbp - 0x40]
test rdx, rdx
jne 0x1400589c4
xor eax, eax
jmp 0x1400589da
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400589d0
mov r8d, eax
call fcn.14000df90
lea rcx, [rbx + 0x10]
test r15, r15
jne 0x1400589ef
xor eax, eax
jmp 0x140058a0b
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [r15 + rax*2], 0
jne 0x140058a00
mov r8d, eax
mov rdx, r15
call fcn.14000df90
lea rcx, [rbx + 0x18]
test r12, r12
jne 0x140058a23
xor eax, eax
jmp 0x140058a3b
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [r12 + rax*2], 0
jne 0x140058a30
mov r8d, eax
mov rdx, r12
call fcn.14000df90
mov eax, dword [rbp - 0x78]
mov dword [rbx + 0x20], eax
mov rcx, r14
call fcn.1400164e0
mov qword [rbx + 0x28], rax
mov r8, r14
mov rdx, rsi
mov rcx, rax
call fcn.1402414f0
mov dword [rbx + 0x30], edi
mov rdx, rbx
mov rcx, qword [rbp - 0x30]
call fcn.1400945a0
dec dword [rbp - 0x80]
mov rax, qword [rbp - 0x38]
inc dword [rax]
mov rbx, qword [rbp - 0x70]
cmp edi, dword [rbp - 0x7c]
je 0x140058a8f
mov rcx, rsi
call fcn.140095d64
cmp dword [rbp - 0x78], 2
jne 0x140058c9f
mov r15, rbx
mov r14d, dword [rbp - 0x7c]
mov r12d, r14d
mov eax, r14d
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
je 0x140058af2
add r14d, 2
mov r12d, r14d
mov eax, 2
mul r12
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400164e0
mov r15, rax
mov r8d, r14d
xor edx, edx
mov rcx, rax
call fcn.140241ba0
mov r8d, dword [rbp - 0x7c]
mov rdx, rbx
mov rcx, r15
call fcn.1402414f0
lea edi, [r14 + r14]
mov ebx, edi
mov eax, 2
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400164e0
mov r13, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.140241ba0
mov r8d, edi
mov rdx, r13
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov esi, eax
cmp eax, edi
jbe 0x140058b7f
mov rcx, r13
call fcn.140095d64
lea ebx, [rsi + 2]
mov eax, 2
mul rbx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
mov rcx, rax
call fcn.1400164e0
mov r13, rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.140241ba0
mov r8d, esi
mov rdx, r13
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
jmp 0x140058b86
mov rdi, 0xffffffffffffffff
cmp dword [rbp + 0x568], 0
jne 0x140058c81
mov r9d, dword [rbp + 0x560]
mov r8, r13
mov rdx, qword [rbp]
call fcn.1400573b0
test eax, eax
je 0x140058c81
mov ecx, 0x38
call fcn.140095d1c
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140058bce
mov rcx, rax
call fcn.140055c20
mov rbx, rax
jmp 0x140058bd0
xor ebx, ebx
lea rcx, [rbx + 8]
mov rdx, qword [rbp - 0x40]
test rdx, rdx
jne 0x140058be1
xor eax, eax
jmp 0x140058bee
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140058be4
mov r8d, eax
call fcn.14000df90
lea rcx, [rbx + 0x10]
mov rdx, qword [rbp - 0x18]
test rdx, rdx
jne 0x140058c07
xor eax, eax
jmp 0x140058c1a
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140058c10
mov r8d, eax
call fcn.14000df90
lea rcx, [rbx + 0x18]
mov rdx, qword [rbp + 8]
test rdx, rdx
jne 0x140058c33
xor eax, eax
jmp 0x140058c40
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140058c36
mov r8d, eax
call fcn.14000df90
mov eax, dword [rbp - 0x78]
mov dword [rbx + 0x20], eax
mov rcx, r12
call fcn.1400164e0
mov qword [rbx + 0x28], rax
mov r8, r12
mov rdx, r15
mov rcx, rax
call fcn.1402414f0
mov dword [rbx + 0x30], r14d
mov rdx, rbx
mov rcx, qword [rbp - 0x30]
call fcn.1400945a0
dec dword [rbp - 0x80]
mov rax, qword [rbp - 0x38]
inc dword [rax]
mov rcx, r13
call fcn.140095d64
cmp r14d, dword [rbp - 0x7c]
je 0x140058c97
mov rcx, r15
call fcn.140095d64
mov r12, qword [rbp + 8]
mov r13, qword [rbp]
mov rdi, qword [rbp - 0x70]
cmp dword [rbp - 0x78], 7
jne 0x140058f8d
mov r14, rdi
mov qword [rbp + 0x10], rdi
mov esi, dword [rbp - 0x7c]
mov dword [rbp - 0x68], esi
mov qword [rbp - 0x20], rsi
mov eax, esi
shr rax, 1
mov r15, 0xffffffffffffffff
cmp word [rdi + rax*2 - 2], 0
je 0x140058d15
add esi, 4
mov dword [rbp - 0x68], esi
mov ebx, esi
mov qword [rbp - 0x20], rbx
mov eax, 2
mul rbx
cmovo rax, r15
mov rcx, rax
call fcn.1400164e0
mov r14, rax
mov qword [rbp + 0x10], rax
mov r8d, esi
xor edx, edx
mov rcx, rax
call fcn.140241ba0
mov r8d, dword [rbp - 0x7c]
mov rdx, rdi
mov rcx, r14
call fcn.1402414f0
cmp dword [rbp + 0x568], 0
jne 0x140058e86
lea rcx, [rbp + 0x40]
call fcn.1400a64e0
nop
xor edi, edi
mov rbx, r14
test esi, esi
je 0x140058d82
nop word [rax + rax]
mov rax, r15
inc rax
cmp word [rbx + rax*2], 0
jne 0x140058d43
test rax, rax
je 0x140058d62
mov r8, rbx
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x40]
call fcn.1400a6854
mov rcx, r15
inc rcx
cmp word [rbx + rcx*2], 0
jne 0x140058d65
inc ecx
movsxd rax, ecx
lea rbx, [rbx + rax*2]
lea edi, [rdi + rcx*2]
add edi, 2
cmp edi, esi
jb 0x140058d40
xor r15d, r15d
xor r14d, r14d
mov rdx, qword [rbp + 0x50]
test rdx, rdx
jle 0x140058e7d
test r14, r14
js 0x1400592f8
cmp r14, rdx
jge 0x1400592f8
mov rax, qword [rbp + 0x48]
mov rsi, qword [rax + r14*8]
test rsi, rsi
je 0x140058e68
xor edi, edi
xor ebx, ebx
mov rcx, qword [r13 + 0x10]
test rcx, rcx
jle 0x140058e68
nop dword [rax]
cmp dword [rbp + 0x560], 0
je 0x140058e27
test rbx, rbx
js 0x1400592f8
cmp rbx, rcx
jge 0x1400592f8
mov rax, qword [r13 + 8]
mov rdx, qword [rax + rbx*8]
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
jne 0x140058e4f
mov ecx, 0x38
call fcn.140095d1c
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140058ec0
mov rcx, rax
call fcn.140055c20
mov rbx, rax
jmp 0x140058ec2
test rbx, rbx
js 0x1400592f8
cmp rbx, rcx
jge 0x1400592f8
mov rax, qword [r13 + 8]
mov rdx, qword [rax + rbx*8]
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140058e00
inc edi
inc rbx
mov rcx, qword [r13 + 0x10]
movsxd rax, edi
cmp rax, rcx
jl 0x140058dd0
mov rdx, qword [rbp + 0x50]
mov esi, dword [rbp - 0x68]
inc r15d
inc r14
movsxd rax, r15d
cmp rax, rdx
jl 0x140058d95
lea rcx, [rbp + 0x40]
call fcn.1400a6500
cmp esi, dword [rbp - 0x7c]
je 0x140058e94
mov rcx, qword [rbp + 0x10]
call fcn.140095d64
mov r14d, dword [rbp - 0x80]
mov rsi, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x70]
mov eax, dword [rbp - 0x4c]
inc eax
mov dword [rbp - 0x4c], eax
cmp eax, dword [rbp - 0x50]
jae 0x140059009
mov r15, qword [rbp - 0x18]
mov rbx, qword [rbp - 0x70]
mov edi, eax
jmp 0x1400586f0
xor ebx, ebx
lea rcx, [rbx + 8]
mov rdx, qword [rbp - 0x40]
mov rdi, 0xffffffffffffffff
test rdx, rdx
jne 0x140058eda
xor eax, eax
jmp 0x140058eea
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140058ee0
mov r8d, eax
call fcn.14000df90
lea rcx, [rbx + 0x10]
mov rdx, qword [rbp - 0x18]
test rdx, rdx
jne 0x140058f03
xor eax, eax
jmp 0x140058f10
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140058f06
mov r8d, eax
call fcn.14000df90
lea rcx, [rbx + 0x18]
test r12, r12
jne 0x140058f25
xor eax, eax
jmp 0x140058f3b
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [r12 + rax*2], 0
jne 0x140058f30
mov r8d, eax
mov rdx, r12
call fcn.14000df90
mov eax, dword [rbp - 0x78]
mov dword [rbx + 0x20], eax
mov rcx, qword [rbp - 0x20]
call fcn.1400164e0
mov qword [rbx + 0x28], rax
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x10]
mov rcx, rax
call fcn.1402414f0
mov esi, dword [rbp - 0x68]
mov dword [rbx + 0x30], esi
mov rdx, rbx
mov rcx, qword [rbp - 0x30]
call fcn.1400945a0
dec dword [rbp - 0x80]
mov rax, qword [rbp - 0x38]
inc dword [rax]
mov rdx, qword [rbp + 0x50]
jmp 0x140058e6b
mov rsi, qword [rbp - 0x40]
mov r14d, dword [rbp - 0x80]
jmp 0x140058ea0
mov rcx, r12
call fcn.140095d64
mov rcx, rbx
call fcn.140095d64
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x140058fd7
mov rcx, r12
call fcn.140095d64
mov rcx, rbx
call fcn.140095d64
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rcx, qword [rbp + 0x490]
xor rcx, rsp
call fcn.1402155d0
add rsp, 0x5a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ebx, dword [rbp + 0x540]
mov dword [rbp - 0x80], ebx
mov rdi, qword [rbp - 0x70]
jmp 0x14005900c
mov ebx, dword [rbp - 0x80]
mov rcx, r12
call fcn.140095d64
test rdi, rdi
je 0x140059021
mov rcx, rdi
call fcn.140095d64
mov r12, qword [rbp - 0x10]
mov eax, dword [rbp - 0x48]
test eax, eax
je 0x140058faa
mov r15d, dword [rbp + 0x538]
test r15d, r15d
je 0x140058faa
xor esi, esi
test eax, eax
je 0x140058faa
mov r14d, dword [rbp + 0x548]
test ebx, ebx
je 0x140058faa
mov dword [rbp - 4], 0x104
lea rax, [rbp + 0x30]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rbp - 4]
lea r8, [rbp + 0x70]
mov edx, esi
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x1400592e4
test r12, r12
je 0x1400590f5
xor edi, edi
xor ebx, ebx
mov rcx, qword [r12 + 0x10]
test rcx, rcx
jle 0x1400590f2
test rbx, rbx
js 0x1400592fe
cmp rbx, rcx
jge 0x1400592fe
mov rax, qword [r12 + 8]
mov rdx, qword [rax + rbx*8]
lea rcx, [rbp + 0x70]
call qword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x1400592e1
inc edi
inc rbx
mov rcx, qword [r12 + 0x10]
movsxd rax, edi
cmp rax, rcx
jl 0x1400590b3
mov ebx, dword [rbp - 0x80]
lea rdx, [0x1402ed690]
mov r12, qword [rbp - 0x18]
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_StrCatW]
lea rdx, [rbp + 0x70]
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_StrCatW]
test r14d, r14d
je 0x1400591d7
xor edi, edi
xor ebx, ebx
mov rcx, qword [r13 + 0x10]
test rcx, rcx
jle 0x1400591d4
cmp dword [rbp + 0x560], 0
je 0x140059196
test rbx, rbx
js 0x1400592fe
cmp rbx, rcx
jge 0x1400592fe
mov rax, qword [r13 + 8]
mov rdx, qword [rax + rbx*8]
lea rcx, [rbp + 0x70]
call qword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
jne 0x1400591bf
mov ecx, 0x38
call fcn.140095d1c
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140059259
mov rcx, rax
call fcn.140055c20
mov rbx, rax
jmp 0x14005925b
mov ebx, dword [rbp + 0x540]
mov dword [rbp - 0x80], ebx
jmp 0x140059025
test rbx, rbx
js 0x1400592fe
cmp rbx, rcx
jge 0x1400592fe
mov rax, qword [r13 + 8]
mov rdx, qword [rax + rbx*8]
lea rcx, [rbp + 0x70]
call qword [sym.imp.SHLWAPI.dll_StrStrIW]
test rax, rax
jne 0x140059161
inc edi
inc rbx
mov rcx, qword [r13 + 0x10]
movsxd rax, edi
cmp rax, rcx
jl 0x140059130
mov ebx, dword [rbp - 0x80]
lea eax, [r15 - 1]
mov dword [rsp + 0x78], 0
mov ecx, dword [rbp + 0x560]
mov dword [rsp + 0x70], ecx
mov ecx, dword [rbp + 0x558]
mov dword [rsp + 0x68], ecx
mov ecx, dword [rbp + 0x550]
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x530]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9, r12
lea r8, [rbp + 0x70]
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x18]
call fcn.1400584f0
mov rdx, r12
call fcn.14005a250
jmp 0x1400592e4
xor ebx, ebx
lea rcx, [rbx + 8]
mov rdx, qword [rbp - 0x40]
mov rdi, 0xffffffffffffffff
test rdx, rdx
jne 0x140059273
xor eax, eax
jmp 0x140059280
mov rax, rdi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140059276
mov r8d, eax
call fcn.14000df90
lea rcx, [rbx + 0x10]
test r12, r12
jne 0x140059295
xor eax, eax
jmp 0x1400592ab
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400592a0
mov r8d, eax
mov rdx, r12
call fcn.14000df90
mov dword [rbx + 0x20], 0
mov rdx, rbx
mov rcx, qword [rbp - 0x30]
call fcn.1400945a0
mov ebx, dword [rbp - 0x80]
dec ebx
mov dword [rbp - 0x80], ebx
mov rax, qword [rbp - 0x38]
inc dword [rax]
mov rdx, r12
call fcn.14005a250
jmp 0x1400592e4
mov ebx, dword [rbp - 0x80]
inc esi
cmp esi, dword [rbp - 0x48]
jae 0x140058faa
mov r12, qword [rbp - 0x10]
jmp 0x140059051
call fcn.1400a2cd8
nop
call fcn.1400a2cd8
int3