Function at 0x1800189ec
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Query environment variable
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x460]
sub rsp, 0x560
mov rax, qword [0x180053d28]
xor rax, rsp
mov qword [rbp + 0x450], rax
mov rax, qword [rbp + 0x4c0]
xor r13d, r13d
mov qword [rbp + 0x48], rax
mov r12d, 0x495
mov eax, 0xdd4d
mov qword [rbp + 8], rcx
mov word [rsp + 0x54], ax
mov ecx, r13d
movzx r10d, word [0x180053818]
lea r11d, [r13 + 1]
mov eax, 0x6b
mov qword [rbp + 0x20], rdx
mov word [rsp + 0x68], ax
mov dword [rsp + 0x6c], 0x44
mov r15d, dword [0x180053800]
movsx rax, word [0x180053808]
mov r14b, byte [0x180053834]
mov qword [rbp - 0x70], rax
mov eax, dword [0x18005374c]
movzx eax, byte [0x18005371e]
mov dword [rsp + 0x78], eax
movsxd rax, dword [0x1800537f4]
mov qword [rbp - 0x40], rax
mov byte [rsp + 0x50], 0x98
movsxd rax, dword [0x1800536f4]
movsx edi, byte [0x1800537dc]
mov qword [rbp - 0x80], rax
mov eax, 0xfafc2c72
mov qword [rbp - 0x60], rax
mov eax, 0x45
mov qword [rbp - 0x50], 0x26
mov word [rsp + 0x60], ax
mov dword [rbp - 0x68], 0x15
mov eax, dword [0x1800536f4]
mov rax, qword [0x180053848]
mov eax, 0x14
mov qword [rbp + 0x70], r9
mov word [rbp - 0x58], ax
mov r9d, 0x1a1
mov eax, dword [0x1800536f4]
test eax, eax
mov eax, dword [rsp + 0x6c]
movzx ebx, word [0x1800537f8]
cmovne bx, word [0x180053820]
cmp eax, dword [0x180053810]
mov eax, r13d
mov qword [rbp + 0x78], r8
sete cl
mov dword [rbp - 0x78], r15d
cmp dword [0x18005383c], r13d
mov dword [rsp + 0x70], r14d
sete al
mov qword [rbp + 0x28], r12
add bx, 0x7e
mov dword [rbp - 0x48], 0xc746
lea esi, [rax + rcx]
mov eax, dword [0x180b88880]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
add eax, 0x100
mov qword [rbp - 0x20], rsi
mov dword [rbp - 0x68], eax
movzx ecx, word [rsp + 0x60]
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x50]
add rdx, rcx
and rax, rdx
mov qword [rbp - 0x50], rax
mov eax, dword [rsp + 0x64]
add eax, 0x16d
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x64]
add eax, 0x2ec
mov dword [rbp - 0x38], eax
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x80], 2
movzx r8d, byte [rsp + 0x50]
mov eax, dword [rsp + 0x78]
movzx edx, al
movzx eax, word [0x180053840]
imul r8d, edx
and al, sil
add al, r8b
mov byte [0x18005374b], al
sub r9, r11
jne 0x180018b97
mov eax, dword [0x180b88880]
mov ecx, 0x309
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x64], 0x369
test r10w, r10w
je 0x180018bec
mov eax, dword [0x180b88880]
mov qword [0x1800537e8], rax
jmp 0x180018c15
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x180018c15
mov eax, dword [0x1800536f4]
mov edx, 0x3c45
sub ax, dx
mov word [0x1800537fc], ax
movzx eax, word [0x1800537f8]
mov dword [rsp + 0x6c], eax
sub rcx, r11
jne 0x180018bd7
mov eax, dword [rsp + 0x5c]
mov ecx, 0x5a0a
add eax, 0x10f
movsx ecx, cx
mov dword [rbp - 0x44], eax
mov rax, qword [rbp - 0x60]
mov eax, dword [rsp + 0x5c]
add eax, 0x176
mov qword [rsp + 0x20], r13
mov dword [rbp - 0x44], eax
mov eax, dword [0x180053838]
movsx edx, ax
mov eax, dword [0x180b88880]
imul edx, ecx
mov word [0x180053808], dx
mov edx, 0x24
mov qword [0x1800537e0], rax
mov eax, dword [rsp + 0x5c]
movsx r8, byte [0x180053733]
add eax, 0xbb88
mov ecx, dword [0x1800537f0]
lea r9d, [rdx - 0xb]
mov dword [rsp + 0x5c], eax
call fcn.180027200
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
test rax, rax
jg 0x180018d7c
mov rdx, qword [rbp - 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0x20
xor ecx, ecx
call fcn.180027200
mov word [0x1800537fc], ax
test ax, ax
jne 0x180018d5c
lea rcx, [0x18003c7bc]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [rsp + 0x78], eax
mov ecx, edi
imul ecx, esi
mov edx, 0xfffffb6b
cmp word [0x18005379c], dx
mov eax, r13d
sete al
cmp ecx, eax
jge 0x180018d17
mov ecx, dword [0x180053800]
mov al, r14b
xor cl, 0x69
not al
or cl, al
mov byte [rsp + 0x50], cl
mov qword [0x1800537e0], 0xba59
jmp 0x180018daa
mov rax, qword [rbp - 0x50]
cmp rax, 0x81
jbe 0x180018daa
mov rcx, qword [0x180053828]
movzx eax, byte [0x18005371f]
mov dword [0x18005383c], eax
movzx eax, byte [0x18005371f]
add ecx, eax
mov eax, dword [0x18005383c]
imul ecx, dword [0x180053810]
imul eax, ecx
mov dword [0x18005383c], eax
jmp 0x180018daa
mov eax, dword [0x1800537f4]
imul eax, eax, 0xd569
cdqe
mov qword [rbp - 0x70], rax
mov eax, 0x62c3
mov word [0x1800537fc], ax
jmp 0x180018daa
cmp dword [0x1800537dc], 0x16bb
jne 0x180018daa
mov r14b, byte [0x180053808]
mov eax, dword [0x1800537f4]
add r14b, 9
imul eax, eax, 0x67ee
mov dword [rsp + 0x70], r14d
cdqe
mov qword [rbp - 0x80], rax
mov eax, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x5c]
imul eax, eax, 0xebc1
or rdx, rax
mov eax, 0xacb3be74
or ecx, edx
sub eax, ecx
mov dword [rbp - 0x28], eax
call qword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
mov rdi, rax
mov eax, dword [0x180b88880]
mov dword [rsp + 0x5c], eax
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x180018e00
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
mov edx, 1
call qword [sym.imp.USER32.dll_GetSubMenu]
test esi, esi
je 0x180018e10
lea eax, [rsi - 0x495]
or esi, eax
mov qword [rbp - 0x20], rsi
mov eax, dword [rsp + 0x5c]
mov edx, r13d
add eax, 0x466
mov ecx, r13d
mov dword [rbp], eax
mov rax, qword [rbp - 0x80]
cmp rax, r12
mov rax, qword [rbp - 0x80]
sete dl
cmp rax, 0x1e
sete cl
cmp edx, ecx
je 0x180018e5d
mov r9, qword [0x180053828]
mov r8b, 0xfd
movzx ecx, word [0x18005378c]
xor edx, edx
call fcn.1800275ec
movsx ecx, al
mov word [0x180053844], cx
mov eax, dword [rsp + 0x5c]
xor r8d, r8d
add eax, 0x46f
mov qword [rbp + 0x38], r13
mov dword [rbp - 0x44], eax
xor edx, edx
mov eax, dword [rsp + 0x5c]
mov r9d, dword [0x180053850]
add eax, 0x3c8
mov dword [rbp + 0x40], eax
movzx ecx, word [rsp + 0x60]
movzx eax, r14b
mov qword [rbp - 0x30], rax
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x10], r13d
call fcn.180027200
mov qword [rbp - 0x80], rax
xor r9d, r9d
mov eax, dword [0x18005380c]
mov r12, r13
movsx ecx, r15b
mov r8d, 0xdd
and rcx, rax
movsx r14, dil
mov rax, qword [rbp - 0x80]
xor rax, r14
mov qword [rbp + 0x18], r13
imul rax, rcx
mov qword [rbp + 0x50], r13
mov qword [rbp - 0x50], rax
movzx eax, word [rsp + 0x54]
mov r15d, dword [0x1800537f0]
movzx esi, word [0x180b88880]
add r15d, 0xffff59d6
mov qword [rbp - 0x60], rax
mov qword [rbp + 0x60], r13
mov byte [0x18005371e], 0x26
mov eax, dword [0x180053734]
neg eax
mov r13d, r15d
mov eax, dword [0x180053838]
mov rcx, qword [rbp - 0x60]
sbb dl, dl
not cl
mov qword [rbp + 0x58], r9
add dl, 0x6a
mov qword [rbp - 0x10], r13
not al
mov r9d, 1
add dl, al
mov eax, dword [0x18005381c]
sub cl, al
add dl, dil
and cl, 0x46
movsx eax, dl
movsx ecx, cl
imul ecx, eax
mov byte [0x180053733], cl
mov rax, qword [rbp - 0x80]
sub eax, 0x371a3df3
mov dword [rsp + 0x6c], eax
movsx rax, word [rsp + 0x68]
mov rdx, qword [0x180053848]
imul rdx, rax
movzx eax, word [rsp + 0x68]
xor ax, dx
mov word [rsp + 0x68], ax
mov rax, qword [rbp - 0x80]
add rax, r9
mov qword [rbp - 0x80], rax
sub r8, r9
jne 0x180018f4c
movsx eax, word [0x180053808]
test bx, bx
cmovne eax, dword [0x1800537dc]
xor ecx, ecx
mov qword [rbp - 8], rax
call fcn.180027480
add dword [0x180053810], r15d
mov r15d, dword [rsp + 0x70]
movzx eax, ax
mov dword [0x1800537f0], eax
movsxd rax, dword [0x1800536f4]
movsx rdx, word [0x1800537b4]
imul rdx, rax
mov rax, qword [rbp - 0x50]
movsx ecx, dx
movsx edx, ax
imul edx, ecx
mov word [0x180053818], dx
movzx eax, word [rsp + 0x60]
cmp dword [0x180053850], eax
jb 0x180019042
mov rax, qword [rbp - 0x70]
cmp rax, r14
je 0x180019007
mov eax, dword [rsp + 0x78]
sub eax, 0x60ce41b
mov dword [rsp + 0x78], eax
xor r8d, r8d
jmp 0x18001905e
xor r8d, r8d
movsx ecx, bx
cmp esi, ecx
movzx eax, r15b
mov edx, r8d
setl dl
cmp edx, eax
jbe 0x18001905e
mov ecx, 0x5bae
movzx eax, r13w
sub ax, cx
mov word [0x180053844], ax
movzx eax, word [0x1800537b4]
xor ax, 0x1a
mov word [rsp + 0x68], ax
jmp 0x18001905e
mov rax, qword [rbp - 0x40]
xor r8d, r8d
test rax, rax
je 0x18001905e
movzx eax, word [0x1800537fc]
sar ax, 1
mov byte [0x180053733], al
sub byte [0x18005371f], sil
lea rax, [rbp + 0xd8]
mov r14d, dword [rbp - 0x78]
mov qword [rbp + 0x68], rax
add r14b, dil
mov rax, qword [rbp - 0x50]
add al, 1
mov dword [rbp + 0xd8], 0x206f6e3c
movzx ecx, al
movzx eax, byte [0x18005374b]
imul eax, ecx
movsx ecx, word [0x180053844]
sub cx, word [0x180bf0198]
mov dword [rbp + 0xdc], 0x656d616e
mov word [rbp + 0xe0], 0x3e
mov byte [0x18005374b], al
movzx eax, word [0x1800537f0]
shl ax, 7
mov qword [rbp + 0x30], r8
mov qword [rbp - 0x18], r8
mov word [0x180053844], cx
mov word [rsp + 0x68], ax
movsx ecx, word [0x180053844]
mov eax, dword [0x180053838]
sub cx, ax
mov word [0x180053844], cx
mov ecx, dword [0x180053734]
movsx eax, bx
xor ebx, ebx
sub ecx, eax
mov dword [rbp - 0x78], r14d
mov eax, dword [0x180053734]
sub ecx, eax
cmp qword [0x180053820], rbx
mov dword [0x180053734], ecx
je 0x180019157
mov al, byte [rsp + 0x50]
test al, al
je 0x180019157
movsxd rcx, dword [0x180053734]
mov rax, qword [rbp - 0x80]
cmp rcx, rax
jle 0x180019157
mov eax, dword [0x180053734]
cmp eax, 0xa7
jge 0x180019143
cmp rsi, r13
jbe 0x180019157
mov ecx, dword [0x180053800]
test ecx, ecx
movzx eax, byte [rsp + 0x78]
movzx edi, dil
cmovne edi, eax
mov esi, 0x6f54
mov r13d, 0x3c2f
add r13w, word [0x180053830]
mov dword [rsp + 0x5c], esi
mov word [rbp - 0x58], si
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
cmp qword [rbp + 8], 0xffffffffffffffff
mov dword [0x180053830], eax
mov rax, qword [rbp + 0x48]
mov dword [rax], ebx
je 0x180019426
call qword [sym.imp.USER32.dll_GetCursor]
test rax, rax
je 0x1800191a2
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetCaretPos]
movzx eax, word [rsp + 0x54]
mov dil, 6
imul rax, qword [rbp - 0x10], 0x4e7f
mov qword [0x180053858], rax
mov eax, 0xffff9bc6
mov word [0x180053808], ax
mov eax, 0xffffec14
mov word [rsp + 0x64], ax
call qword [sym.imp.USER32.dll_AnyPopup]
mov r12d, 0x400
mov edx, 1
mov ecx, r12d
mov byte [rsp + 0x50], al
call fcn.1800326a4
mov rdx, qword [rbp + 8]
mov rbx, rax
mov rcx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r9, rbx
mov qword [rbp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r12, qword [rbp + 0x20]
mov r8, r12
call fcn.1800181fc
movzx eax, word [rsp + 0x68]
xor ecx, ecx
test ax, ax
jne 0x18001928b
cmp dword [0x180053814], 0xf28a
movzx eax, byte [0x18005371f]
setne cl
cmp ecx, eax
jbe 0x180019267
mov eax, dword [rsp + 0x78]
mov rcx, qword [rbp - 0x70]
and rcx, rax
mov eax, dword [rsp + 0x78]
add eax, ecx
mov dword [rsp + 0x78], eax
jmp 0x18001928b
movsx ecx, word [0x180053840]
movzx eax, r15b
cmp eax, ecx
je 0x18001928b
mov ecx, dword [0x180053838]
movzx eax, byte [0x18005374b]
add ecx, eax
mov dword [0x180053838], ecx
mov ecx, 0xdb
call fcn.18002773c
mov qword [0x1800537e8], rax
lea rcx, [fcn.1800326a4]
mov rax, qword [0x1800537e8]
xor r9d, r9d
movsxd rbx, dword [rbx + 0x3c]
xor eax, eax
add rbx, qword [rbp + 0x50]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea r8d, [rax + 1]
mov edx, dword [rbx + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.1800181fc
xor edx, edx
mov qword [rbp + 0x58], rax
mov qword [rsp + 0x40], rdx
mov rcx, rax
mov eax, dword [rbx + 0x50]
mov r9, rcx
mov rcx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r8, r12
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdx
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 8]
mov qword [rsp + 0x20], rax
call fcn.1800181fc
mov ecx, dword [0x180053830]
call fcn.18002773c
xor r10d, r10d
movzx ebx, ax
mov qword [rbp + 0x28], rbx
test ax, ax
js 0x18001935a
mov eax, dword [rsp + 0x6c]
mov ecx, dword [0x18005383c]
imul ecx, eax
mov rax, qword [0x180053848]
imul eax, eax, 0xa21b
mov dword [0x18005383c], ecx
mov dword [rbp - 0x48], eax
jmp 0x18001938d
mov rax, qword [rbp - 0x50]
imul rcx, rax, 0x10bccca
test rcx, rcx
je 0x18001938d
mov eax, dword [0x1800536f4]
mov eax, 0x6346
movsx ecx, dil
xor cx, ax
movzx eax, word [0x180053844]
sub ax, cx
mov word [0x180053844], ax
movzx eax, word [0x180053844]
mov rdx, r10
mov r8, qword [0x180053848]
movsx ecx, byte [0x180053733]
mov r9, qword [rbp + 0x58]
cmp ax, cx
mov ecx, dword [0x18005381c]
mov rdi, r9
movsx eax, byte [0x180053733]
setl dl
xor r8, rdx
mov qword [rbp + 0x18], r9
cmp ecx, eax
mov rdx, r10
setle dl
add rdx, 0xfffffffffffffffe
cmp r8, rdx
jbe 0x180019403
movsx rcx, word [0x180053818]
mov rax, qword [0x180053858]
sub rax, rcx
mov qword [0x180053858], rax
mov al, byte [0x18005374b]
add al, al
add al, r14b
mov byte [0x18005374b], al
jmp 0x180019417
mov esi, 0xffffdea8
sub si, word [0x1800537f0]
mov dword [rsp + 0x5c], esi
mov word [rbp - 0x58], si
movsxd r12, dword [r9 + 0x3c]
add r12, r9
xor r9d, r9d
jmp 0x18001967a
movsxd rax, dword [0x1800537f4]
mov ecx, 0x6b8
mov rdx, qword [rbp - 0x40]
mov ebx, 1
sub rdx, rax
mov rax, qword [rbp - 0x40]
add rax, rdx
mov qword [rbp - 0x40], rax
mov eax, dword [0x180053734]
mov edx, 0xb4a
add eax, 0xe3
cdqe
mov qword [0x180053848], rax
mov rax, qword [rbp - 0x60]
sub ax, dx
mov word [0x180053808], ax
sub rcx, rbx
jne 0x180019449
mov eax, dword [0x180b88880]
mov dword [rsp + 0x78], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov word [rsp + 0x54], ax
xor ebx, ebx
movsx ecx, word [0x180053840]
not ecx
test ecx, ecx
je 0x1800194c8
movsx eax, word [0x180053808]
test r13w, r13w
mov ecx, ebx
sete cl
cmp ecx, eax
jge 0x1800194c8
mov rdx, qword [rbp - 0x50]
mov r9b, 0xf9
mov r8b, 0x5a
mov cl, 0xb1
call fcn.1800275ec
movsx rcx, al
mov qword [rbp - 0x60], rcx
jmp 0x180019509
cmp byte [0x180053733], bl
je 0x180019509
mov edx, dword [0x1800536f4]
mov ecx, dword [0x1800536f4]
add ecx, dword [0x18005380c]
add edx, ecx
movsx ecx, r14b
mov dword [0x1800536f4], edx
mov rax, qword [0x1800537e0]
test rax, rax
movzx edx, r13w
cmovne edx, ecx
movsxd rax, edx
mov qword [0x180053848], rax
mov eax, dword [rsp + 0x78]
lea rcx, [rbp + 0xe8]
movsd xmm0, qword [str.OperationCode]
add eax, 0x143
mov dword [rsp + 0x58], eax
mov eax, dword [0x18003cb20]
mov dword [rbp + 0xf0], eax
movzx eax, word [0x18003cb24]
mov word [rbp + 0xf4], ax
movsd qword [rbp + 0xe8], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
xor r9d, r9d
mov qword [rbp - 0x50], rcx
mov eax, dword [rsp + 0x78]
add eax, 0x14e
cmp word [0x1800537b4], r9w
mov dword [rsp + 0x68], eax
je 0x1800195bc
movsx eax, byte [rsp + 0x50]
cmp ax, word [0x180053804]
je 0x1800195a3
mov rax, qword [0x1800537e0]
movabs rdx, 0xfff8a6df5063038a
mov rcx, qword [0x180053848]
add rax, rdx
add rcx, rax
mov qword [0x180053848], rcx
jmp 0x1800195d7
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x80]
imul rcx, rax
mov rax, qword [rbp - 0x60]
sub rax, rcx
mov qword [rbp - 0x60], rax
jmp 0x1800195d7
movsx rax, dil
movabs rcx, 0xd699149834508
add rax, rcx
mov r13d, 0xb6b8
mov qword [rbp - 0x50], rax
mov eax, dword [rsp + 0x78]
add eax, 0x154
mov dword [rsp + 0x58], eax
mov ecx, dword [rsp + 0x58]
mov eax, dword [rbp - 0x28]
sub ecx, eax
mov edx, dword [rsp + 0x68]
add edx, ecx
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x68]
or ecx, eax
cmp ecx, edx
je 0x180019672
movsxd rcx, dword [0x18005374c]
mov ebx, 0x8c4
mov rax, qword [rbp - 0x40]
mov r15d, 1
sub si, word [0x180c159a4]
sub rax, rcx
mov rdi, qword [rbp + 0x20]
mov qword [0x180053828], rax
mov rax, qword [0x1800537e0]
add eax, 0x5e
mov dword [rsp + 0x5c], esi
mov dword [0x1800537f4], eax
mov word [rbp - 0x58], si
mov qword [rbp + 0x18], rdi
xor ecx, ecx
call fcn.180027480
movzx r13d, ax
movzx eax, word [rsp + 0x60]
mov rax, qword [rbp - 0x70]
sub rbx, r15
jne 0x180019648
movsxd r12, dword [rdi + 0x3c]
mov r15d, dword [rsp + 0x70]
add r12, rdi
xor r9d, r9d
jmp 0x180019675
mov rdi, rbx
mov ebx, 0x495
mov eax, dword [rbp - 0x48]
mov byte [0x18005374b], 0x2f
mov word [rsp + 0x68], ax
movsx eax, byte [0x180c1a343]
mov dword [0x180053734], eax
cmp dword [r12 + 0x88], r9d
je 0x180019f43
mov r9d, dword [0x18005374c]
xor ecx, ecx
mov rdx, qword [rbp - 0x40]
mov r8b, byte [0x18005383c]
call fcn.1800275ec
xor r9d, r9d
movsx rcx, al
mov qword [rbp - 0x70], rcx
mov edx, r9d
mov rax, qword [rbp - 0x70]
mov ecx, r9d
cmp rax, 0x10
mov rax, qword [rbp - 0x70]
setne dl
test rax, rax
setne cl
cmp ecx, edx
jbe 0x18001973e
mov dl, byte [rbp - 0x10]
xor r8d, r8d
mov cl, 0x90
call fcn.1800275ec
xor r9d, r9d
movsx r13d, al
cmp r13w, 0x55
mov ecx, r9d
mov eax, r9d
setbe cl
test r13w, r13w
sete al
cmp eax, ecx
jae 0x18001972e
movsx ecx, word [rsp + 0x68]
movsx eax, bx
imul eax, ecx
sub eax, dword [0x18005380c]
mov qword [0x180053820], rax
jmp 0x18001973e
movsx eax, word [rsp + 0x64]
sub eax, 0x4488b238
cdqe
mov qword [rbp - 0x50], rax
mov dword [0x180053734], 0x60c8cfee
movsx ecx, word [rsp + 0x68]
mov eax, dword [0x180053734]
inc ecx
cmp eax, ecx
jne 0x18001990d
mov eax, dword [0x1800537f4]
test eax, eax
je 0x180019846
mov ecx, 0x9d
call fcn.180027480
movzx eax, ax
xor r9d, r9d
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
test rax, rax
jne 0x18001982d
xor ecx, ecx
call fcn.180027480
movzx ecx, ax
xor r9d, r9d
cmp ecx, 0x4f
mov dword [0x18005380c], ecx
mov edx, r9d
mov eax, r9d
seta dl
test ecx, ecx
setne al
cmp eax, edx
ja 0x1800198b2
mov rcx, qword [rbp - 8]
call fcn.18002773c
xor r9d, r9d
mov qword [rbp - 0x20], rax
test eax, eax
je 0x18001980c
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1800197e9
mov eax, 0x1b03
mov word [rsp + 0x60], ax
mov eax, dword [0x1800537f4]
sub al, 0x75
jmp 0x180019840
cmp dword [0x1800537f0], r9d
jne 0x1800197f7
test bx, bx
jne 0x1800197fb
mov eax, dword [rsp + 0x6c]
movzx eax, word [rsp + 0x54]
mov qword [0x180b92a98], rax
jmp 0x1800198b2
mov rax, qword [rbp - 0x80]
add r14b, r14b
add r14b, byte [0x180053810]
mov eax, 0xb5
mov word [rsp + 0x68], ax
mov dword [rbp - 0x78], r14d
jmp 0x1800198b2
mov eax, dword [0x18005381c]
mov rax, qword [rbp - 0x60]
mov rax, qword [0x180053828]
sub al, 0x1e
mov byte [rsp + 0x50], al
jmp 0x1800198b2
movzx ecx, byte [0x18005371e]
mov eax, dword [0x1800537f4]
cmp eax, ecx
jle 0x180019868
mov eax, dword [0x180053850]
shr eax, 6
mov dword [0x180053800], eax
jmp 0x1800198b2
movzx eax, word [rsp + 0x60]
not eax
cmp eax, dword [0x180053814]
jne 0x180019890
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x70]
imul rcx, rax
mov rax, qword [rbp - 0x70]
sub rax, rcx
mov qword [rbp - 0x70], rax
jmp 0x1800198b2
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x1800198b2
mov rax, qword [rbp - 0x40]
shl rax, 6
mov word [0x180053804], ax
mov eax, dword [0x180b88880]
mov qword [rbp - 0x20], rax
mov rax, qword [0x1800537e8]
mov ecx, 1
mov r10, qword [rbp + 0x28]
mov r11, qword [rbp - 8]
cmp rax, rcx
jne 0x180019915
mov ebx, dword [0x180053838]
mov cl, sil
movzx edx, word [rsp + 0x60]
not ebx
movsx eax, r10w
add edx, eax
mov qword [rbp - 0x20], rbx
mov rax, qword [rbp - 0x50]
not edx
and cl, al
mov al, r14b
mov r14, qword [rbp - 0x30]
xor cl, dl
sub al, r14b
movzx ecx, cl
sub al, r11b
movzx eax, al
imul ecx, eax
mov byte [0x18005371e], cl
jmp 0x18001991d
mov r10, qword [rbp + 0x28]
mov r11, qword [rbp - 8]
mov r14, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x20]
mov eax, dword [0x180b88880]
mov edx, r9d
mov dword [0x180053734], 0x60c8cfee
mov dword [rsp + 0x78], eax
mov ecx, dword [0x1800536f4]
mov eax, dword [0x18005374c]
cmp eax, ecx
mov eax, dword [0x18005374c]
mov ecx, r9d
setg dl
cmp eax, 0x5c
setg cl
cmp edx, ecx
jbe 0x18001996f
movsx r9, word [0x18005379c]
test r13w, r13w
cmovne r9, r11
mov qword [rbp - 0x10], r9
xor r9d, r9d
mov eax, dword [rsp + 0x78]
add eax, 0x401
cmp word [0x1800537f8], r9w
mov dword [rbp - 0x28], eax
je 0x1800199a4
movsx eax, word [0x180053840]
mov edx, dword [0x1800537f4]
add edx, eax
mov eax, dword [0x1800537f4]
add eax, edx
mov dword [0x1800537f4], eax
jmp 0x1800199bf
mov eax, 0x4579
add eax, r13d
mov word [rsp + 0x54], ax
mov rax, qword [0x180053858]
add rax, rax
mov qword [rbp - 0x80], rax
mov eax, dword [rsp + 0x78]
add eax, 0x457
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x78]
add eax, 0xf5
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x58]
sub ecx, eax
mov eax, dword [rsp + 0x78]
add ecx, eax
mov edx, dword [rsp + 0x58]
add edx, ecx
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x58]
imul ecx, eax
mov eax, dword [rsp + 0x78]
add eax, ecx
cmp eax, edx
je 0x180019f3f
movzx ecx, byte [0x18005371f]
mov edx, r9d
movsx r8d, r10w
mov eax, r9d
cmp ecx, r8d
mov dword [rbp - 0x28], r8d
setl dl
cmp cl, 0x47
setb al
cmp edx, eax
je 0x180019a5a
movsx ecx, word [0x180053840]
mov eax, r9d
test r10w, r10w
sete al
xor eax, dword [rbp - 0x48]
neg eax
cdqe
mov qword [rbp - 0x10], rax
movsx eax, byte [0x180bf1443]
add ax, cx
mov word [0x180053840], ax
movsxd rax, dword [0x18005381c]
add r11, r11
sub r11, rax
movzx eax, word [0x18005378c]
cmp word [0x180053804], r9w
mov qword [rbp - 8], r11
jne 0x180019a80
movzx eax, word [rbp - 0x58]
mov r12d, dword [r12 + 0x88]
mov ecx, 0xc0
cwde
add r12, rdi
mov dword [rsp + 0x6c], eax
movsx eax, word [0x18005378c]
add eax, 0x91b8
cdqe
mov qword [0x180053828], rax
mov eax, dword [r12 + 0x1c]
add rax, rdi
mov qword [rsp + 0x78], rax
call fcn.180027480
movzx eax, ax
xor r9d, r9d
mov dword [0x180053830], eax
test eax, eax
je 0x180019ae2
movzx eax, word [0x18005378c]
mov ecx, 0xf3
sub ax, cx
mov word [rsp + 0x54], ax
jmp 0x180019aed
movzx esi, word [0x180b88880]
mov dword [rsp + 0x5c], esi
mov eax, dword [r12 + 0x20]
mov edx, r9d
mov r8d, dword [rbp - 0x78]
add rax, rdi
mov qword [rbp + 0x80], rax
mov ecx, r9d
movzx eax, word [0x18005378c]
cmp ax, word [0x1800537b4]
movzx eax, word [0x18005378c]
setge dl
cmp ax, 0x49
setge cl
cmp edx, ecx
ja 0x180019b33
movsx eax, r8b
add ebx, eax
mov qword [rbp - 0x20], rbx
mov edi, dword [r12 + 0x24]
mov edx, r9d
add rdi, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x60]
movsx rax, si
cmp rax, rcx
mov qword [rbp - 0x30], rdi
mov eax, r9d
setbe dl
cmp si, 0x54
setle al
cmp edx, eax
jbe 0x180019b82
movsxd rax, dword [0x180053814]
test ebx, ebx
cmovne rax, qword [rbp - 0x40]
mov qword [rbp - 0x40], rax
movzx eax, r13w
sub eax, 0x21105b99
mov dword [0x180053734], eax
jmp 0x180019bc8
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x180019b9e
movsx esi, byte [rsp + 0x50]
mov eax, 0xaa6
add si, ax
mov dword [rsp + 0x5c], esi
jmp 0x180019bc8
mov eax, dword [0x18005374c]
test eax, eax
je 0x180019bc8
mov rax, qword [rbp - 0x60]
mov rcx, r9
test rax, rax
mov rax, qword [rbp - 0x80]
sete cl
sub rax, rcx
mov qword [rbp - 0x70], rax
imul rax, r14, 0x1c
mov qword [rbp - 0x70], rax
mov r14d, r9d
mov dword [rsp + 0x58], r9d
cmp dword [r12 + 0x18], r9d
jbe 0x180019f3f
mov rbx, qword [rsp + 0x78]
mov eax, dword [0x1800536f4]
mov ecx, 0x2eba
sub ax, cx
mov word [0x1800537fc], ax
mov al, byte [0x180053850]
add al, 0x4b
add r8b, al
mov dword [rbp - 0x78], r8d
call qword [sym.imp.USER32.dll_AnyPopup]
mov ecx, eax
xor r8d, r8d
cmp rcx, 0x53
mov qword [0x180053820], rcx
mov edx, r8d
mov eax, r8d
sete dl
test rcx, rcx
sete al
cmp eax, edx
jae 0x180019c49
cmp dword [0x180053814], r8d
je 0x180019c49
movsxd rcx, dword [0x180053800]
mov rax, qword [rbp - 0x80]
imul rax, rcx
mov qword [rbp - 0x80], rax
mov rsi, qword [rbp + 0x18]
mov r15d, r14d
movzx eax, word [rdi + r15*2]
mov r14d, dword [rbx + rax*4]
mov eax, dword [rsp + 0x58]
add r14, rsi
cmp eax, dword [r12 + 0x18]
jae 0x180019c92
mov r9, qword [rbp - 0x80]
mov r8b, 0x48
xor edx, edx
xor ecx, ecx
call fcn.1800275ec
movsx ecx, al
mov rax, qword [rbp + 0x80]
mov dword [0x1800537f0], ecx
mov eax, dword [rax + r15*4]
add rax, rsi
mov qword [rbp + 0x68], rax
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.18001d16c
mov esi, eax
mov eax, 1
cmp esi, eax
jbe 0x18001a4fe
call fcn.1800203d8
mov rdi, rax
mov qword [rbp - 0x18], rax
xor eax, eax
lea rcx, [fcn.180031240]
mov qword [rsp + 0x40], rax
mov r9d, 0x104
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rax
lea rdx, [rdi + 0x18]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.1800181fc
mov r8, qword [rbp + 0x68]
lea rdx, [rdi + 0x18]
xor eax, eax
lea rcx, [0x180032540]
mov qword [rsp + 0x40], rax
mov r9d, 0x103
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.1800181fc
mov rcx, qword [rbp - 0x30]
mov rbx, qword [rbp + 0x20]
mov qword [rdi], rbx
movzx eax, word [rcx + r15*2]
mov word [rdi + 8], ax
movzx eax, word [rcx + r15*2]
mov rcx, qword [rsp + 0x78]
mov edx, dword [rcx + rax*4]
add rdx, rbx
mov qword [rdi + 0x10], rdx
cmp esi, 2
jne 0x180019d6c
mov rcx, qword [rbp + 0x30]
mov qword [rbp - 0x70], 0xda2a
movsxd rax, dword [rcx + r14]
add rax, 4
add rax, qword [rdi + 0x10]
add rax, rcx
jmp 0x180019d92
cmp esi, 3
jne 0x180019d81
mov rax, qword [rbp + 0x30]
mov ecx, dword [rax + rdx]
mov qword [rdi + 0x220], rcx
jmp 0x180019d99
cmp esi, 4
jne 0x180019d99
mov rax, qword [rbp + 0x30]
mov ecx, dword [rax + rdx]
mov rax, qword [rcx + rdx + 6]
mov qword [rdi + 0x220], rax
mov rdx, qword [rdi + 0x220]
lea r8, [rbp + 0x88]
mov rcx, qword [sym.imp.KERNEL32.dll_VirtualQuery]
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
lea r9d, [rax + 0x30]
mov qword [rsp + 0x20], rax
call fcn.1800181fc
xor edi, edi
test rax, rax
jne 0x18001a00c
mov r10, qword [rbp + 0x38]
cmp r10, qword [rbp + 0x70]
jae 0x180019ef6
mov rcx, qword [rbp - 0x80]
mov edx, edi
mov eax, dword [rsp + 0x6c]
test eax, eax
mov eax, edi
sete dl
test rcx, rcx
sete al
lea rcx, [rdx + rax]
mov rax, qword [rbp - 0x50]
cmp rax, rcx
je 0x180019e4e
mov r14d, dword [rsp + 0x70]
mov ecx, 0x1dec
mov rax, qword [rbp - 0x60]
add r14b, r14b
mov edx, dword [rbp - 0x28]
sub r14b, al
mov dword [rsp + 0x70], r14d
mov edi, 1
mov qword [rbp - 0x80], 4
movzx eax, word [rsp + 0x54]
sub ax, dx
mov word [rsp + 0x54], ax
sub rcx, rdi
jne 0x180019e38
xor edi, edi
jmp 0x180019e5b
movsx eax, word [0x18005379c]
mov dword [0x18005381c], eax
mov rax, qword [rbp - 0x18]
mov edx, edi
mov rcx, qword [rbp + 0x78]
mov r9d, edi
mov qword [rcx + r10*8], rax
movsx eax, word [0x18005378c]
and eax, dword [rbp - 0x20]
mov rcx, qword [0x1800537e8]
not eax
not rcx
cdqe
imul rcx, rax
test rcx, rcx
movsx ecx, byte [rsp + 0x50]
movsx eax, word [0x1800537b4]
not ecx
movzx r8d, byte [0x18005374b]
sete r9b
cmp ecx, eax
movsx ecx, word [rbp - 0x48]
sete dl
imul r8d, ecx
mov rcx, qword [0x180053828]
mov rax, qword [0x1800537e8]
and rcx, rax
movzx eax, word [0x1800537f8]
add rax, rcx
sub r8w, dx
mov edx, 1
add r8w, r9w
add r8w, dx
add r10, rdx
mov word [0x18005379c], r8w
mov qword [rbp + 0x38], r10
mov qword [0x180053848], rax
jmp 0x180019efb
mov edx, 1
mov rax, qword [rbp + 0x48]
mov dword [rbp + 0x10], 4
add dword [rax], edx
lea rcx, [rbp - 0x18]
call fcn.18001aeb0
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rsp + 0x78]
mov esi, dword [rsp + 0x5c]
mov r15d, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x58]
mov r8d, dword [rbp - 0x78]
inc r14d
mov dword [rsp + 0x58], r14d
cmp r14d, dword [r12 + 0x18]
jb 0x180019be0
mov r14d, dword [rbp - 0x78]
mov ecx, dword [rbp + 0x40]
mov eax, dword [rbp]
xor ecx, 0x1ec
add eax, 0x2f5
add ecx, eax
mov eax, dword [rbp - 0x44]
cmp ecx, eax
je 0x18001ab3d
movzx ebx, r13w
mov eax, 0x1f8
add word [0x18005379c], ax
mov ecx, 0x40
movsx eax, word [0x1800537b4]
mov r12d, 0xe9
mov word [0x180053804], cx
lea edi, [rbx + 0xc9df]
mov word [0x180053840], r12w
lea r13d, [rcx - 0x3f]
cmp eax, edi
jne 0x18001a621
movsx eax, cx
add eax, ebx
cmp eax, r13d
jne 0x18001a621
movsxd rcx, dword [0x18005381c]
call fcn.18002773c
xor r9d, r9d
mov word [0x180053808], ax
test ax, ax
jns 0x18001a5dd
movsx eax, word [0x1800537b4]
mov edx, r9d
cmp dword [0x18005380c], eax
mov eax, r9d
setae dl
cmp dword [0x18005380c], 6
setae al
cmp edx, eax
je 0x18001a5bd
movzx eax, word [0x180b88880]
mov word [0x1800537f8], ax
jmp 0x18001a602
cmp qword [rbp + 0x90], rbx
je 0x180019f08
mov qword [rsp + 0x40], rdi
lea rdx, [rbp + 0x230]
mov qword [rsp + 0x38], rdi
lea rcx, [fcn.180031240]
mov qword [rsp + 0x30], rdi
mov esi, 0x104
mov qword [rsp + 0x28], rdi
mov r9d, esi
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call fcn.1800181fc
mov rdx, rbx
mov dword [0x180053830], 0x3330da03
mov rbx, qword [rbp + 8]
lea r8, [rbp + 0x230]
mov rcx, rbx
mov r9d, esi
call fcn.18001b244
mov qword [rsp + 0x40], rdi
lea rdx, [rbp + 0x340]
mov qword [rsp + 0x38], rdi
lea rcx, [fcn.180031240]
mov qword [rsp + 0x30], rdi
mov r9d, esi
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call fcn.1800181fc
mov r15d, dword [rbp - 0x48]
mov ecx, 0x5a
add r15d, ecx
mov dword [rbp - 0x48], r15d
lea esi, [rcx - 0x59]
mov rax, qword [0x1800537e8]
test rax, rax
je 0x18001a0d3
mov eax, dword [0x180053838]
mov r14d, eax
mov qword [rbp - 0x10], rax
jmp 0x18001a0d7
mov r14, qword [rbp - 0x10]
sub rcx, rsi
jne 0x18001a0b8
mov rdx, qword [rbp + 0x90]
lea r8, [rbp + 0x340]
mov r9d, 0x104
mov rcx, rbx
call fcn.18001b244
mov rax, rdi
mov dword [rbp + 0xb8], 0x6c706369
mov dword [rbp + 0xbc], 0x30316a63
mov dword [rbp + 0xc0], 0x6a6a622c
mov byte [rbp + 0xc4], dil
add byte [rbp + rax + 0xb8], 2
add rax, rsi
cmp rax, 0xc
jb 0x18001a120
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x230]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x18001a1f8
mov dword [rbp + 0xc8], 0x686c5f65
mov rax, rdi
mov dword [rbp + 0xcc], 0x5b5c665f
mov dword [rbp + 0xd0], 0x5e285f6d
mov word [rbp + 0xd4], 0x6666
mov byte [rbp + 0xd6], dil
add byte [rbp + rax + 0xc8], 6
add rax, rsi
cmp rax, 0xe
jb 0x18001a17f
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0x340]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x18001a1f8
xor ecx, ecx
call fcn.180027480
cmp ax, 0x4b
movzx edx, ax
mov ecx, edi
mov dword [rsp + 0x64], edx
setge cl
mov eax, edi
test dx, dx
setns al
cmp eax, ecx
jae 0x180019f08
mov eax, dword [0x180053838]
mov r15d, dword [rbp - 0x78]
movsx ecx, r15b
sub ecx, dword [0x18005380c]
add ecx, eax
mov eax, dword [0x180053810]
xor rcx, rax
mov qword [rbp - 0x60], rcx
jmp 0x180019f08
mov qword [rsp + 0x40], rdi
lea rdx, [rbp + 0x120]
mov qword [rsp + 0x38], rdi
lea rcx, [fcn.180031240]
mov qword [rsp + 0x30], rdi
mov r9d, 0x104
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call fcn.1800181fc
movzx esi, word [0x180b88880]
lea r8, [rbp + 0x120]
mov rdx, qword [rbp + 0x90]
mov r9d, 0x104
mov rcx, rbx
mov dword [rsp + 0x5c], esi
call fcn.18001b244
mov rbx, qword [rbp - 0x18]
lea r8, [rbp + 0x120]
mov qword [rsp + 0x40], rdi
lea rcx, [0x180032540]
mov qword [rsp + 0x38], rdi
add rbx, 0x11c
mov qword [rsp + 0x30], rdi
mov rdx, rbx
mov qword [rsp + 0x28], rdi
mov r9d, 0x103
mov qword [rsp + 0x20], rdi
call fcn.1800181fc
mov qword [rsp + 0x40], rdi
lea rcx, [0x180032a10]
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov rdx, rbx
mov qword [rsp + 0x20], rdi
call fcn.1800181fc
test rax, rax
je 0x18001a41c
mov qword [rsp + 0x40], rdi
lea rdx, [rbp + 0x120]
mov qword [rsp + 0x38], rdi
lea rcx, [fcn.180031240]
mov qword [rsp + 0x30], rdi
mov r9d, 0x104
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call fcn.1800181fc
mov rcx, qword [rbp - 0x60]
mov r8, rdi
movsxd rdx, dword [0x180053734]
mov r9d, 0x104
movsxd rdi, dword [rsp + 0x64]
movsxd rax, r15d
xor rcx, rax
mov eax, dword [0x18005380c]
cmp rax, rcx
movsx eax, byte [0x180053733]
mov ecx, 0xaf71
sete r8b
sub ecx, eax
movsxd rax, ecx
mov rcx, qword [rbp + 8]
xor r8, rax
movsx rax, di
xor rdx, rax
xor rdx, r8
lea r8, [rbp + 0x120]
mov qword [0x180053858], rdx
mov rdx, qword [rbp + 0x20]
call fcn.18001b244
lea rdx, [rbp + 0x120]
mov rcx, rbx
call fcn.18001aba0
xor ebx, ebx
test eax, eax
je 0x18001a422
movzx r9d, word [rsp + 0x54]
lea r8d, [rbx + 0x7d]
xor edx, edx
mov ecx, 0xfc
call fcn.180027320
mov word [rsp + 0x64], ax
mov eax, dword [rsp + 0x6c]
not eax
cmp eax, dword [0x1800537f0]
jbe 0x18001a405
cmp dword [0x180053850], ebx
je 0x18001a405
movsx r9d, word [0x180053818]
lea edx, [rbx + 0x2c]
movsx r8d, word [rsp + 0x68]
lea ecx, [rbx + 0x78]
call fcn.180027320
movsxd rcx, eax
mov qword [0x1800537e8], rcx
mov eax, dword [0x1800537f4]
test eax, eax
je 0x18001a405
cmp word [rbp + 0x28], bx
mov ecx, ebx
movsx eax, word [0x1800537b4]
sete cl
cmp ecx, eax
jle 0x18001a405
mov eax, dword [0x180053814]
not eax
test eax, eax
je 0x18001a405
call qword [sym.imp.USER32.dll_GetMessageTime]
mov dword [rbp - 0x48], eax
lea rcx, [rbp - 0x18]
call fcn.18001aeb0
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rsp + 0x78]
jmp 0x180019f1e
mov edi, dword [rsp + 0x64]
xor ebx, ebx
mov r9, qword [rbp + 0x38]
cmp r9, qword [rbp + 0x70]
jae 0x18001a4ee
cmp byte [0x18005374b], bl
mov rax, rbx
sete al
cmp rax, r14
jge 0x18001a483
mov rax, qword [rbp - 0x50]
test r15d, r15d
mov rcx, rbx
sete cl
cmp rcx, rax
jae 0x18001a483
mov ebx, 1
lea r8d, [rbx + 1]
movsx edx, word [0x180053818]
movsx eax, word [0x18005379c]
add dword [0x180053850], ebx
imul edx, eax
mov word [0x180053818], dx
sub r8, rbx
jne 0x18001a45c
xor ebx, ebx
jmp 0x18001a4aa
mov eax, dword [0x18005374c]
movzx ecx, word [0x1800537b4]
mov r15d, dword [rbp - 0x78]
add ax, cx
or cx, ax
movsx eax, r15b
mov word [0x1800537b4], cx
mov word [rsp + 0x68], ax
mov rcx, qword [rbp + 0x78]
mov edx, ebx
mov rax, qword [rbp - 0x18]
mov qword [rcx + r9*8], rax
mov rcx, qword [0x1800537e8]
movsx rax, di
cmp rax, rcx
mov eax, dword [0x18005383c]
mov ecx, ebx
setg dl
cmp di, 0x55
setg cl
cmp edx, ecx
cmovbe eax, dword [0x180b88880]
inc r9
mov qword [rbp + 0x38], r9
mov dword [0x18005383c], eax
mov rax, qword [rbp + 0x48]
mov ecx, 1
add dword [rax], ecx
jmp 0x18001a40e
mov cl, byte [rbp - 0x10]
mov r9b, 0xbf
xor r8d, r8d
xor edx, edx
call fcn.1800275ec
mov r9d, 0x14
movsx r13d, al
xor r8d, r8d
mov qword [rsp + 0x20], 0xda
xor edx, edx
xor ecx, ecx
call fcn.180027200
mov qword [rbp - 0x60], rax
xor r9d, r9d
movzx eax, word [0x180053840]
test ax, ax
je 0x180019f1a
mov rax, qword [rbp - 0x80]
mov ecx, r9d
cmp qword [rbp - 8], rax
mov eax, r9d
mov esi, dword [rsp + 0x5c]
seta cl
cmp qword [rbp - 8], 0x5e
seta al
cmp ecx, eax
jbe 0x18001a59e
movsx ecx, word [0x18005379c]
movsx eax, si
sub ecx, eax
mov rax, qword [rbp - 0x70]
movsxd rcx, ecx
xor rax, rcx
movzx ecx, r13b
movzx eax, word [0x180053844]
sete dl
movzx r15d, al
imul r15d, ecx
add r15b, dl
mov dword [rsp + 0x70], r15d
jmp 0x180019f23
mov rax, qword [rbp - 0x40]
movzx eax, word [0x1800537f8]
mov ecx, dword [0x180053800]
imul ecx, eax
mov dword [0x180053800], ecx
jmp 0x180019f1e
movzx eax, word [rsp + 0x68]
test ax, ax
je 0x18001a602
movsx ecx, byte [rsp + 0x50]
mov eax, 0x387c
add cx, ax
or word [0x1800537b4], cx
jmp 0x18001a602
movsx eax, word [rsp + 0x68]
cmp dword [0x180053814], eax
jne 0x18001a602
movsx eax, word [0x180053804]
add eax, 0x29
movsxd rcx, eax
mov rax, qword [rbp - 0x80]
sub rax, rcx
mov qword [rbp - 0x80], rax
movsx eax, word [0x1800537b4]
mov word [0x180053840], r12w
cmp eax, edi
jne 0x18001a621
movzx ecx, word [0x180053804]
jmp 0x180019fa4
movzx ecx, word [rsp + 0x54]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x18005374b], al
mov eax, dword [0x180b88880]
mov dword [rsp + 0x58], eax
mov eax, dword [0x180053734]
cmp eax, ebx
jg 0x18001a690
mov eax, dword [0x18003cb48]
lea rcx, [rbp + 0xf8]
movups xmm0, xmmword [str._GetIBoxVtable_Det]
mov dword [rbp + 0x118], eax
movups xmm1, xmmword [0x18003cb38]
movzx eax, word [0x18003cb4c]
movups xmmword [rbp + 0xf8], xmm0
mov word [rbp + 0x11c], ax
movups xmmword [rbp + 0x108], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movzx ebx, ax
xor edi, edi
jmp 0x18001a6b0
mov eax, dword [0x1800537f4]
xor edi, edi
test eax, eax
movzx eax, r15b
jne 0x18001a6a6
mov eax, dword [0x18005374c]
mov ebx, dword [rsp + 0x64]
cdqe
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x58]
mov ecx, 0xe7
add eax, 0x188
mov dword [rbp - 0x44], eax
call fcn.18002773c
mov qword [rbp - 0x70], rax
mov ecx, 0x18af
mov rax, qword [rbp - 0x70]
mov rax, qword [rbp - 0x70]
mov eax, dword [rsp + 0x58]
add eax, 0x148
mov dword [rsp + 0x64], eax
movzx eax, r15b
add rax, 0x5022
mov qword [rbp - 0x40], rax
mov eax, dword [rsp + 0x58]
add eax, 0xb32e
mov dword [rbp - 0x44], eax
movzx edx, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
imul edx, ecx
sub ax, dx
cmp word [0x18005379c], di
mov word [rsp + 0x54], ax
mov eax, edi
movzx ecx, word [rsp + 0x60]
sete al
mov edx, dword [0x1800536f4]
add ecx, eax
mov eax, dword [rsp + 0x6c]
not ecx
xor edx, ecx
movsx ecx, word [0x1800537fc]
sub ecx, eax
xor ecx, dword [0x180053850]
imul ecx, edx
mov edx, edi
mov eax, ecx
mov qword [rbp - 0x50], rax
movsx eax, r14b
sub si, ax
movzx eax, byte [0x18005374b]
sub eax, 0x1297107c
mov dword [0x1800537dc], eax
mov eax, dword [rbp - 0x38]
mov eax, dword [rbp - 0x68]
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
add ecx, eax
xor ecx, 0x228
mov dword [rbp - 0x44], ecx
movsx ecx, word [0x180053818]
mov eax, dword [rsp + 0x6c]
cmp eax, ecx
mov eax, dword [rsp + 0x6c]
mov ecx, edi
setge dl
cmp eax, 0x33
setge cl
cmp edx, ecx
ja 0x18001a7ed
movsx r8d, bx
mov edx, 0xf2
movzx ecx, byte [0x18005374b]
movabs rax, 0xc2540ff8d5190
sub rcx, rax
mov eax, dword [rsp + 0x6c]
xor eax, ecx
mov dword [rsp + 0x6c], eax
movsx eax, word [0x180053840]
mov ecx, dword [rsp + 0x6c]
add eax, r8d
add eax, ecx
cdqe
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x80]
add rax, r13
mov qword [rbp - 0x80], rax
sub rdx, r13
jne 0x18001a7a9
mov eax, dword [0x180b88880]
mov dword [rsp + 0x58], eax
mov rax, qword [rbp - 0x50]
cmp qword [rbp - 0x10], rax
jae 0x18001a814
mov eax, dword [0x180053830]
add eax, 0x18af
mov dword [0x180053814], eax
jmp 0x18001a850
movzx eax, word [0x180053844]
test ax, ax
jne 0x18001a828
cmp dword [0x180053814], edi
jne 0x18001a850
test bx, bx
je 0x18001a835
mov eax, dword [0x180053734]
jmp 0x18001a83b
mov eax, dword [0x180053838]
mov dword [0x18005374c], eax
mov eax, dword [0x180053800]
sub eax, 0x3c1113b2
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x58]
mov edx, edi
add eax, 0xe762
mov dword [rbp - 0x68], eax
mov rcx, qword [rbp - 0x60]
movsx rax, bx
cmp rax, rcx
mov eax, edi
mov ecx, 0x30
setne dl
cmp bx, cx
setne al
cmp edx, eax
jbe 0x18001a8b0
movsx eax, word [0x180053818]
mov rdx, qword [rbp - 0x20]
cmp eax, edx
jne 0x18001a89e
mov eax, dword [0x18005381c]
cmp eax, edx
jl 0x18001a89e
mov eax, dword [0x1800536f4]
jmp 0x18001a8b0
movzx eax, byte [0x18005374b]
mov rcx, qword [rbp - 0x50]
xor rcx, rax
mov qword [rbp - 0x60], rcx
mov eax, dword [rsp + 0x58]
movsx ecx, byte [0x180053820]
add eax, 0xdde6
mov dword [rsp + 0x64], eax
movsx eax, byte [0x18005371f]
imul ecx, eax
movzx eax, byte [0x18005374b]
imul edx, eax, 0xa209
not cl
add cl, 0x73
add edx, dword [0x180053810]
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x58]
add eax, 0xcc
cmp word [0x180053834], di
mov dword [rbp - 0x68], eax
je 0x18001a90d
mov eax, dword [0x180b88880]
mov dword [0x180053838], eax
jmp 0x18001a92c
mov al, byte [rsp + 0x50]
movzx eax, word [rsp + 0x68]
mov eax, dword [0x1800537f0]
add eax, 0x78feb7dc
movsx ecx, si
add ecx, eax
mov dword [0x1800537f0], ecx
mov ecx, dword [rsp + 0x64]
mov r8d, 0xfe
mov eax, dword [rsp + 0x64]
add ecx, eax
xor ecx, 0x1b9df
mov dword [rbp], ecx
movzx ecx, word [rsp + 0x60]
movzx eax, word [rsp + 0x60]
cmp cx, ax
jae 0x18001a95b
mov byte [rsp + 0x50], 0xe
jmp 0x18001a983
movsxd rcx, dword [0x1800537f4]
mov rax, qword [rbp - 0x60]
sub ecx, eax
mov eax, 0xdebde4e1
sub ecx, 0x4a
mov dword [0x1800537f4], ecx
movsx ecx, byte [rsp + 0x50]
sub eax, ecx
add dword [0x18005380c], eax
mov al, byte [rsp + 0x50]
add al, r13b
mov byte [rsp + 0x50], al
sub r8, r13
jne 0x18001a945
mov eax, dword [0x180b88880]
mov dword [rsp + 0x58], eax
mov eax, dword [0x180b92ef8]
mov dword [0x180053830], eax
mov eax, dword [rsp + 0x58]
add eax, 0x804
shr edx, 0x1f
mov dword [rbp - 0x38], eax
not edx
movsx eax, byte [rsp + 0x50]
imul eax, eax, 0xd6cb
movsxd rcx, eax
mov eax, 0xffffe815
mov qword [0x180053828], rcx
mov word [rsp + 0x68], ax
mov eax, dword [rsp + 0x58]
add eax, 0x169
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x6c]
cmp eax, edx
jle 0x18001aa15
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x18001aa15
mov ecx, dword [0x180053734]
mov edx, edi
mov eax, dword [rsp + 0x6c]
and eax, dword [0x18005383c]
test ecx, ecx
cmove edx, eax
imul edx, dword [rbp - 0x48]
mov dword [rsp + 0x6c], edx
mov eax, dword [rsp + 0x58]
add eax, 0x5354
mov dword [rbp - 0x68], eax
mov eax, dword [0x18005381c]
add al, 0x10
mov byte [rsp + 0x50], al
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x38]
xor ecx, eax
mov eax, 0x5dad
sub eax, ecx
cmp qword [rbp + 8], 0xffffffffffffffff
mov dword [rbp - 0x38], eax
je 0x18001ab3d
mov rax, qword [0x1800537e0]
xor ecx, ecx
add dword [0x1800537dc], eax
mov eax, 0xc525c0da
mov qword [0x1800537e8], rax
call fcn.18002773c
test al, al
js 0x18001aa7c
movzx eax, word [rsp + 0x54]
add ax, word [rbp - 8]
mov word [rsp + 0x54], ax
mov eax, dword [0x180b88880]
mov edx, 0x2a
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0x470
mov dword [rbp - 0x68], eax
mov ecx, dword [rbp - 0x44]
mov eax, dword [rsp + 0x58]
add ecx, eax
mov dword [rsp + 0x64], ecx
mov ecx, dword [rbp]
mov eax, dword [rsp + 0x58]
add ecx, eax
mov dword [rbp - 0x44], ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x68]
imul ecx, eax
sub edx, ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x38]
add ecx, edx
sub eax, 0x107
cmp eax, ecx
je 0x18001ab3d
movsx ecx, byte [rsp + 0x50]
xor r9d, r9d
mov rdx, qword [rbp + 0x50]
add ecx, 0xf1
mov qword [rsp + 0x40], rdi
xor r8d, r8d
mov qword [rsp + 0x38], rdi
mov dword [0x18005381c], ecx
lea rcx, [fcn.180032ab8]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.1800181fc
mov rdx, qword [rbp + 0x58]
lea rcx, [fcn.180032ab8]
mov qword [rsp + 0x40], rdi
xor r9d, r9d
mov qword [rsp + 0x38], rdi
xor r8d, r8d
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.1800181fc
mov rcx, qword [0x1800537e8]
mov eax, dword [rbp + 0x10]
test rcx, rcx
sete byte [0x18005371e]
movsx ecx, word [0x180053844]
movsx r8d, word [0x18005379c]
xor r8d, ecx
movzx ecx, word [0x180053844]
add cx, r8w
mov word [0x180053844], cx
mov rcx, qword [rbp + 0x450]
xor rcx, rsp
call fcn.18002fd30
mov rbx, qword [rsp + 0x5b8]
add rsp, 0x560
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret