Function at 0x1800167e4
Capabilities:
Identify system language via api
Query environment variable

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x180067a78]
xor rax, rsp
mov qword [rbp], rax
movsx eax, word [0x18006730c]
mov sil, 0x9d
mov dword [rsp + 0x78], eax
movabs rax, 0x79a91d96874d6
mov byte [rsp + 0x53], 0xcb
movsx r15, word [0x18006734c]
movsxd r13, dword [0x1800673dc]
mov byte [rsp + 0x58], 0xcc
mov qword [rbp - 0x30], rax
mov rax, qword [0x180067358]
mov qword [rbp - 0x48], rax
movzx eax, word [0x180067350]
mov word [rsp + 0x5c], ax
mov qword [rbp - 0x18], 0x41281797
movsx rax, word [0x18006734c]
mov qword [rbp - 0x58], rax
mov rax, qword [0x1800673f0]
movzx r14d, word [0x1800672a4]
mov byte [rsp + 0x52], 0xd
mov qword [rbp - 0x78], rax
mov eax, 0x6e
mov word [rsp + 0x68], ax
movzx eax, word [0x180067320]
mov word [rsp + 0x64], ax
mov eax, dword [0x1800673c8]
mov dword [rsp + 0x60], eax
movzx eax, word [0x1800673cc]
mov qword [rbp - 0x60], rax
movzx eax, word [0x1800673d4]
mov dword [rsp + 0x6c], eax
mov eax, dword [0x1800673ac]
mov byte [rsp + 0x51], al
mov byte [rsp + 0x50], 0x2c
mov r12, qword [0x180067378]
mov qword [rbp - 0x40], 0xcb
movsx eax, byte [0x18006730b]
mov dword [rsp + 0x70], eax
movsx eax, byte [0x18006730b]
mov dword [rsp + 0x78], eax
mov rax, qword [0x1800673b8]
mov byte [rsp + 0x54], al
mov byte [rsp + 0x54], 0x41
mov rax, qword [0x180067378]
mov rax, qword [0x1800673b8]
mov word [rsp + 0x54], ax
mov eax, dword [0x180067318]
mov dword [rsp + 0x78], eax
mov rax, qword [0x1800673f0]
mov dword [rsp + 0x78], 0xca
mov byte [rsp + 0x54], 0x11
mov eax, dword [0x1800673dc]
mov byte [rsp + 0x54], al
mov rax, qword [0x180067320]
mov dword [rsp + 0x78], 0x74033abe
mov byte [rsp + 0x54], 0xcb
mov byte [rsp + 0x54], 0x11
mov qword [rsp + 0x78], rax
mov eax, dword [0x1800673dc]
add eax, 0x2530c05d
mov qword [rbp - 0x20], rdx
cdqe
mov qword [0x180067318], rax
movsxd rax, dword [0x1800673dc]
xor qword [0x180067340], rax
mov eax, dword [0x18055f270]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x145
mov qword [rbp - 0x28], rcx
mov dword [rsp + 0x78], eax
call qword [sym.imp.USER32.dll_GetFocus]
xor ebx, ebx
mov rdi, rax
test rax, rax
je 0x1800169c5
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindowUnicode]
mov eax, dword [rsp + 0x54]
mov edi, 1
add eax, 0x3d1
mov dword [rbp - 0x6c], eax
movsxd rcx, dword [0x1800673c8]
mov rax, qword [rbp - 0x30]
cmp rax, rcx
ja 0x180016a39
movzx eax, word [rbp - 0x78]
mov ecx, ebx
cmp r12d, eax
mov eax, dword [rsp + 0x6c]
setle cl
cmp eax, ecx
je 0x180016a18
movzx eax, word [rsp + 0x68]
mov ecx, edi
sub cl, al
movsx eax, cl
movsx ecx, byte [0x18006730e]
imul ecx, eax
mov byte [0x18006730e], cl
jmp 0x180016a39
mov al, byte [rsp + 0x52]
movsx eax, byte [rsp + 0x58]
add word [0x1800673c0], ax
mov ecx, dword [rsp + 0x6c]
mov rax, qword [0x1800673f0]
sub ecx, eax
mov dword [rsp + 0x6c], ecx
mov eax, dword [rsp + 0x54]
xor edx, edx
add eax, 0x308
mov ecx, 0xe4
mov dword [rbp - 0x80], eax
call fcn.1800185c0
movsx ecx, ax
mov dword [0x1800672dc], ecx
mov eax, dword [0x1800672dc]
test eax, eax
je 0x180016a86
mov rax, qword [rbp - 0x30]
imul rcx, rax, 0x5c73
mov qword [0x180067390], rcx
mov eax, dword [0x1800673b4]
sub eax, edi
mov dword [0x1800673b4], eax
jmp 0x180016aed
cmp word [0x1800673a8], bx
jne 0x180016aa0
mov eax, r12d
shl eax, 6
cdqe
mov qword [0x180067330], rax
jmp 0x180016aed
movsx rcx, word [0x180067374]
mov rax, qword [0x1800673b8]
or rax, rcx
not rax
test rax, rax
jne 0x180016aed
test r14, r14
jne 0x180016aed
cmp word [0x180067380], bx
je 0x180016aed
mov rax, qword [0x180067358]
shl rax, 2
cmp dword [0x1800672f4], ebx
mov dword [0x180067370], eax
mov eax, ebx
sete al
sub eax, 0x79919cf2
mov dword [rsp + 0x6c], eax
mov eax, dword [0x18055f270]
movzx ecx, word [rbp - 0x58]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
movzx edx, word [0x1800673c4]
add eax, 0x82
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x54]
add eax, 0x22a
imul ecx, edx
and dx, cx
mov word [0x1800673c4], dx
mov dword [rbp - 0x50], eax
mov eax, dword [rsp + 0x54]
add eax, 0x12c
mov dword [rbp - 0x68], eax
mov eax, dword [0x18055f270]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x3e3
mov dword [rsp + 0x78], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov rdi, rax
test rax, rax
je 0x180016b6f
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_BeginPaint]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.USER32.dll_EndPaint]
mov al, byte [0x1800672a3]
mov edx, ebx
mov eax, dword [rsp + 0x54]
mov r8d, 0x46
add eax, 0x261
mov dword [rbp - 0x70], eax
movsx ecx, byte [0x1800672a6]
movzx eax, byte [rsp + 0x51]
cmp eax, ecx
mov al, byte [rsp + 0x51]
mov ecx, ebx
setne dl
cmp al, r8b
setne cl
cmp edx, ecx
jbe 0x180016c1f
mov rax, qword [0x180067330]
test rax, rax
je 0x180016be4
movzx ecx, byte [0x1800672f3]
mov al, byte [0x1800672f3]
xor rcx, qword [rbp - 0x58]
add al, cl
mov byte [0x1800672f3], al
movsx ecx, byte [rsp + 0x58]
mov eax, dword [0x1800673b0]
sub eax, ecx
mov dword [0x1800673b0], eax
jmp 0x180016c22
mov rax, qword [0x1800673b8]
test rax, rax
je 0x180016c22
movsx ecx, word [rsp + 0x64]
mov edx, dword [rsp + 0x6c]
not ecx
movzx eax, word [rsp + 0x68]
add edx, ecx
cmp word [rbp - 0x78], bx
mov ecx, ebx
sete cl
add ecx, dword [0x180067384]
imul ecx, edx
imul eax, ecx
mov dword [0x1800672dc], eax
jmp 0x180016c22
inc r13
mov eax, dword [rsp + 0x54]
add eax, 0x183
mov dword [rbp - 0x38], eax
movzx eax, r12b
imul ecx, eax, 0x7e
imul rax, qword [0x180067320], 0xd6
mov byte [0x1800672f3], cl
mov rcx, rbx
mov qword [0x180067358], rax
mov eax, dword [0x18055f270]
mov dword [rsp + 0x54], eax
mov rax, qword [rbp - 0x18]
mov rax, qword [0x180067330]
cmp rax, rbx
je 0x180016cc5
mov r9, qword [rbp - 0x48]
mov eax, 0xcd
mov word [rsp + 0x28], ax
movzx ecx, r14w
lea edx, [rax - 0x3c]
lea r8d, [rax - 0xd]
movzx eax, word [0x180067350]
mov word [rsp + 0x20], ax
call fcn.1800181e8
mov edi, dword [rsp + 0x60]
movzx eax, ax
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
test rax, rax
jle 0x180016cec
mov eax, dword [rsp + 0x6c]
mov eax, dword [0x1800673e8]
mov rcx, qword [0x180067338]
sub rcx, rax
mov qword [0x180067338], rcx
jmp 0x180016cec
movzx edi, word [rsp + 0x64]
movzx eax, word [0x180067318]
not di
sub ax, r13w
add di, ax
mov eax, dword [0x180067348]
add di, word [0x1800673d0]
mov dword [rsp + 0x60], edi
mov eax, dword [rsp + 0x54]
xor r9d, r9d
add eax, 0x5b
mov byte [rsp + 0x30], bl
mov dword [rsp + 0x78], eax
xor edx, edx
movzx r8d, word [0x1800673d4]
mov cl, 0x78
mov al, byte [0x1800673e8]
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], bl
call fcn.180018378
movsx rcx, al
mov qword [0x180067368], rcx
mov rax, qword [0x180067368]
test rax, rax
jns 0x180016d47
movzx eax, word [0x180067380]
mov sil, 0x9e
add eax, 0x73
mov dword [rsp + 0x6c], eax
jmp 0x180016d5a
mov eax, dword [rsp + 0x6c]
mov ecx, 0x5445
sub ax, cx
mov word [0x1800673d0], ax
mov eax, dword [rsp + 0x54]
mov r8d, 0xd5
add eax, 0x30c
mov word [rsp + 0x28], bx
mov dword [rsp + 0x78], eax
xor ecx, ecx
movsx edx, byte [rsp + 0x53]
lea r9d, [r8 - 0x37]
mov word [rsp + 0x20], r8w
movzx r8d, word [0x180067360]
call fcn.180018b80
movsx rcx, ax
mov qword [0x1800673b8], rcx
mov rax, qword [0x1800673b8]
mov eax, dword [rsp + 0x54]
add eax, 0x3d4
mov dword [rbp - 0x64], eax
movsx rcx, byte [rsp + 0x52]
mov rax, qword [rbp - 0x40]
xor cx, r13w
mov word [0x18006730c], cx
movabs rcx, 0x202d0ebca6b6f
add rax, rcx
mov qword [0x180067350], rax
mov eax, dword [0x18055f270]
mov dword [rsp + 0x54], eax
mov al, byte [rsp + 0x50]
mov eax, dword [0x1800673b0]
test eax, eax
je 0x180016e27
mov rax, qword [str.IaM:]
mov rcx, 0xffffffffffff5589
sub rcx, rax
mov rax, qword [0x1800673b8]
add rax, rcx
movsx rcx, sil
mov qword [0x1800673b8], rax
mov rax, qword [0x180067388]
lea rcx, [rcx + rax*2]
mov qword [0x180067388], rcx
mov eax, dword [rsp + 0x54]
mov edx, ebx
add eax, 0x21
mov dword [rbp - 0x78], eax
mov byte [rsp + 0x52], 0xa4
mov eax, dword [rsp + 0x54]
add eax, 0xf5
mov dword [rsp + 0x78], eax
mov eax, ebx
mov rcx, qword [rbp - 0x60]
cmp r15, rcx
setne dl
cmp r15d, 0x11
setne al
cmp edx, eax
jae 0x180016e6a
mov al, byte [0x180067360]
add al, 0x6e
mov byte [0x1800672f3], al
mov eax, dword [rsp + 0x54]
add eax, 0xba5c
mov dword [rsp + 0x54], eax
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x180016ee4
mov byte [0x1800672a6], 3
mov al, byte [rsp + 0x51]
movsx eax, byte [0x1800672a6]
mov ecx, eax
test al, al
je 0x180016ec5
sub ecx, 1
je 0x180016ea8
cmp ecx, 1
jne 0x180016f00
lea r15d, [rdi + 0x52]
jmp 0x180016f00
cmp word [0x1800673c4], bx
mov byte [0x18006730b], bl
je 0x180016ebd
mov al, byte [rsp + 0x50]
jmp 0x180016f00
mov eax, dword [0x1800673b4]
jmp 0x180016f00
mov rcx, qword [0x1800673f0]
movzx eax, di
not rcx
add rcx, rax
mov eax, dword [0x1800673c8]
mov qword [0x180067318], rcx
jmp 0x180016f00
mov rax, qword [0x180067338]
test rax, rax
je 0x180016f00
movzx eax, byte [0x1800672a3]
imul eax, eax, 0x6a
mov dword [0x1800673e8], eax
mov rdx, qword [0x1800673f0]
mov ecx, 0xe
call fcn.1800185c0
cmp ax, 0x4e
mov word [0x180067380], ax
mov ecx, ebx
mov r8d, 1
setae cl
cmp ecx, r8d
jb 0x180016f42
mov dword [0x1800672dc], 8
mov rax, qword [0x1800673b8]
add sil, al
jmp 0x180016f78
mov rax, qword [0x180067368]
test rax, rax
je 0x180016f78
lea eax, [rsi + 0x1f]
mov byte [0x1800672f3], al
movsx rcx, word [rsp + 0x5c]
mov rax, qword [0x180067338]
sub rcx, rax
mov rax, qword [0x180067338]
add rax, rcx
mov qword [0x180067338], rax
mov ecx, dword [rbp - 0x80]
lea rdi, [r13 + 0xb07e]
mov eax, dword [rbp - 0x80]
xor ecx, eax
mov eax, dword [rbp - 0x6c]
imul eax, ecx
mov ecx, dword [rsp + 0x54]
imul edx, eax, 0xf7
mov eax, dword [rsp + 0x54]
or ecx, eax
mov eax, dword [rbp - 0x78]
or eax, ecx
mov ecx, ebx
or eax, 0x52cf
add eax, 0xffff06c6
add eax, edx
mov dword [rbp - 0x58], eax
mov al, byte [rsp + 0x50]
add al, r8b
mov byte [rsp + 0x50], al
mov rax, qword [0x180067378]
not al
mov byte [rsp + 0x51], al
mov eax, dword [0x18055f270]
mov dword [rsp + 0x54], eax
movzx eax, word [rsp + 0x64]
movzx r12d, word [rsp + 0x5c]
mov eax, dword [rsp + 0x54]
cmp byte [0x1800672a7], bl
add eax, 0x69
mov dword [rbp - 0x78], eax
movzx eax, word [rsp + 0x64]
test ax, ax
mov eax, dword [0x1800673b0]
sete cl
or eax, ecx
movsx rcx, sil
not eax
mov dword [0x1800673ac], eax
mov eax, dword [rsp + 0x54]
add eax, 0xef
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x54]
add eax, 0x106
mov dword [rsp + 0x78], eax
lea rax, [rcx - 0xedb2]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
sub rax, rcx
mov qword [rbp - 0x40], rax
jmp 0x180017094
mov ecx, dword [0x1800672dc]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov rdx, qword [rbp - 0x30]
movabs rcx, 0x939b7fbc78f07
mov word [0x1800673d0], ax
add rdx, rcx
movzx eax, word [0x1800673d4]
cmp rax, rdx
jne 0x1800170ab
movsd xmm0, qword [str.NoOfTargets]
lea rcx, [rbp - 0x10]
mov eax, dword [0x18004b9c8]
movsd qword [rbp - 0x10], xmm0
mov dword [rbp - 8], eax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x52], al
mov rax, qword [0x180067338]
mov qword [0x180067358], 0xb07e
cmp rax, rdi
je 0x180017040
mov eax, dword [rbp - 0x78]
mov edi, ebx
mov ecx, dword [rbp - 0x80]
or eax, 0xd0
mov edx, 0x2c3
sub edx, eax
mov eax, dword [rbp - 0x80]
xor ecx, eax
mov eax, dword [0x18055f270]
sub edx, ecx
cmp qword [0x180067340], rbx
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x54], eax
sete dil
mov eax, dword [rsp + 0x54]
xor edi, 0x7ba9cc62
add eax, 0xe1
cmp dword [0x180067384], ebx
mov dword [rbp - 0x80], eax
je 0x18001712f
mov eax, dword [rsp + 0x70]
not eax
movsxd rcx, eax
mov rax, qword [rbp - 0x48]
imul rax, rcx
movsx ecx, byte [0x1800672a6]
test rax, rax
mov eax, dword [0x180067370]
setne sil
add sil, 0xf9
add eax, ecx
mov dword [0x180067370], eax
jmp 0x1800171e4
movsx rax, word [0x180067374]
mov rdx, qword [rbp - 0x40]
add rdx, rax
movsx rax, word [0x18006730c]
add rax, qword [0x180067358]
cmp rdx, rax
jbe 0x1800171e4
mov rax, qword [0x1800673b8]
not rax
test rax, rax
je 0x18001717a
mov eax, 0x794
add ax, word [0x180067318]
add word [0x1800673d0], ax
jmp 0x1800171e4
mov al, byte [rsp + 0x51]
test al, al
je 0x18001718c
mov eax, dword [0x180067348]
test eax, eax
jne 0x1800171e4
movzx eax, word [0x180067358]
mov rdx, rbx
mov word [0x18006734c], ax
movzx ecx, byte [rsp + 0x51]
movsx r9d, word [rsp + 0x64]
movzx r8d, word [0x1800672a4]
movzx eax, byte [0x1800672a3]
imul r9d, ecx
movsxd rcx, dword [rsp + 0x70]
xor rcx, rax
mov eax, dword [0x180067384]
not eax
cmp r9d, r8d
cmove rdx, rcx
movsxd rcx, eax
mov rax, qword [rbp - 0x60]
add rax, rcx
imul rax, rdx
mov qword [rbp - 0x18], rax
mov eax, dword [rsp + 0x54]
movabs rdx, 0x46eeeb163cca0
add eax, 0x3125
mov dword [rbp - 0x6c], eax
movzx eax, byte [rsp + 0x51]
add r14, rax
movsx rax, word [rsp + 0x64]
sub rdx, rax
mov rax, qword [rbp - 0x60]
add rax, rdx
mov edx, ebx
mov qword [rbp - 0x60], rax
mov eax, dword [rsp + 0x54]
add eax, 0x8e
mov dword [rbp - 0x78], eax
movzx ecx, byte [rsp + 0x51]
mov rax, qword [0x180067368]
cmp rcx, rax
mov al, byte [rsp + 0x51]
mov ecx, ebx
setg dl
cmp al, 0x4d
seta cl
cmp edx, ecx
ja 0x180017254
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov word [0x1800673c0], ax
jmp 0x180017278
mov al, byte [rsp + 0x52]
mov cl, sil
sub cl, al
mov al, byte [rsp + 0x53]
add cl, al
add cl, r12b
not cl
mov byte [0x18006730b], cl
mov rax, qword [rbp - 0x60]
sub al, 0x2b
mov byte [rsp + 0x52], al
movzx eax, word [rsp + 0x68]
mov al, byte [0x1800672f3]
mov edx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x6c]
add edx, eax
mov r8d, dword [rbp - 0x80]
or r8d, 0x8c
imul r8d, edx
mov edx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x68]
sub edx, eax
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x50]
xor ecx, edx
xor eax, ecx
xor r8d, 0x2e02f6
sub r8d, eax
mov eax, dword [0x18055f270]
mov dword [rbp - 0x50], r8d
mov dword [rsp + 0x54], eax
movzx ecx, word [0x1800673d4]
mov eax, dword [rsp + 0x70]
xor eax, ecx
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
add eax, 0xf2e5
mov dword [rbp - 0x6c], eax
mov rax, qword [0x180067368]
shl rax, 7
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
add eax, 0xc3ce
mov dword [rbp - 0x78], eax
mov byte [rsp + 0x53], 0xb0
mov eax, dword [rsp + 0x54]
add eax, 0x24
mov dword [rbp - 0x68], eax
call qword [sym.imp.USER32.dll_GetCapture]
mov dword [0x1800673c8], eax
movsx rcx, word [rsp + 0x64]
call qword [sym.imp.USER32.dll_IsZoomed]
mov ecx, eax
mov edx, ebx
cmp rcx, 0x10
mov qword [0x180067358], rcx
mov eax, ebx
setne dl
test rcx, rcx
setne al
cmp eax, edx
jne 0x180017372
mov al, byte [0x1800672a3]
mov edx, ebx
mov rax, qword [rbp - 0x48]
mov eax, dword [0x1800673c8]
cmp qword [0x180067360], rbx
movsx r13d, byte [0x1800672a6]
sete dl
sub dx, word [0x1800673a8]
add r13w, dx
jmp 0x1800173a3
mov eax, dword [rsp + 0x6c]
mov ecx, ebx
cmp rax, r14
movsx eax, word [0x1800673d8]
setb cl
cmp eax, ecx
jne 0x18001739e
mov eax, 0x3a
mov r13d, 0x637b
mov word [rsp + 0x68], ax
add r13d, edi
jmp 0x1800173a3
mov r13d, dword [rsp + 0x60]
mov ecx, dword [rbp - 0x78]
mov edx, ebx
mov eax, dword [rbp - 0x6c]
xor ecx, eax
mov eax, 0x313f
sub eax, ecx
mov dword [rbp - 0x68], eax
mov rcx, qword [0x1800673a0]
movsx rax, sil
cmp rax, rcx
mov eax, ebx
setle dl
cmp sil, 0x13
setle al
cmp edx, eax
jae 0x1800173e5
mov rax, qword [rbp - 0x60]
mov dword [0x1800673b4], 0xb6905bbe
jmp 0x1800173f8
movzx eax, word [0x180067374]
mov ecx, 0x5202
sub ax, cx
add r15w, ax
mov eax, dword [0x18055f270]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0xdf
mov dword [rbp - 0x78], eax
imul rax, r14, 0x5361
mov dword [0x180067348], 3
mov qword [rbp - 0x30], rax
mov ecx, dword [0x180067348]
test ecx, ecx
je 0x1800174be
sub ecx, 1
je 0x18001749c
sub ecx, 1
je 0x180017482
cmp ecx, 1
jne 0x1800174dd
movsx ecx, byte [rsp + 0x50]
movzx eax, byte [0x1800672a7]
imul eax, ecx
movsx rdx, r15w
movsxd rcx, eax
add rcx, qword [0x180067320]
movzx eax, word [0x1800673a8]
add rdx, rcx
not rdx
sub rdx, rax
mov rax, qword [0x1800673a0]
not al
add al, dl
mov byte [rsp + 0x52], al
jmp 0x1800174dd
mov al, byte [rsp + 0x53]
mov eax, dword [rsp + 0x6c]
movzx eax, word [rsp + 0x5c]
movzx eax, word [rsp + 0x5c]
mov byte [0x1800672db], bl
jmp 0x1800174dd
movzx edx, word [0x1800672a4]
movzx eax, word [0x1800672a4]
sub dx, ax
movsx eax, byte [rsp + 0x58]
add dx, ax
mov word [0x1800672a4], dx
jmp 0x1800174dd
movsx edi, word [0x1800673d8]
mov eax, dword [0x1800673c8]
add edi, 0x1b797607
sub eax, dword [0x180067320]
mov dword [0x1800673c8], eax
mov eax, dword [rsp + 0x60]
add eax, 0x2f
movsx esi, r15w
mov dword [rbp - 0x78], eax
movzx eax, word [0x1800672a4]
movzx ecx, word [rsp + 0x68]
add cx, ax
mov word [0x1800672a4], cx
mov ecx, ebx
mov eax, dword [rsp + 0x60]
add eax, 0x6200
mov dword [rbp - 0x78], eax
mov eax, dword [rbp - 0x78]
sub eax, 0x6077
mov dword [rbp - 0x78], esi
mov dword [rbp - 0x80], eax
mov eax, dword [0x18055f270]
mov dword [rsp + 0x60], eax
movzx edx, word [rsp + 0x5c]
movzx eax, word [0x1800673c4]
test dx, dx
cmove ecx, eax
mov eax, ecx
mov qword [0x180067328], rax
mov eax, dword [rsp + 0x60]
add eax, 0xa2
mov dword [rbp - 0x6c], eax
lea eax, [rsi - 0x4b]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x60]
add eax, 0xfa
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x60]
add eax, 0x946
mov dword [rsp + 0x60], eax
movzx edx, word [0x1800672a4]
movsx eax, byte [rsp + 0x50]
cmp eax, edx
jle 0x18001758d
mov al, byte [0x18055f270]
mov byte [0x1800672db], al
jmp 0x1800175a1
mov al, byte [rsp + 0x58]
mov cl, r14b
mov al, byte [rsp + 0x53]
and cl, 0x95
add cl, al
mov byte [rsp + 0x53], cl
mov esi, 0x46
lea r12d, [rsi - 0x16]
movsx rcx, byte [rsp + 0x53]
mov qword [0x180067320], 0xf354
add rcx, qword [0x180067320]
cmp qword [0x180067388], rcx
jne 0x1800176b4
movsx ecx, byte [rsp + 0x53]
movzx eax, word [rsp + 0x64]
cmp ax, cx
je 0x18001766f
movsx ecx, byte [rsp + 0x50]
xor r9d, r9d
movzx eax, word [rsp + 0x64]
mov edx, r12d
movzx r8d, word [0x18006730c]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], si
call fcn.180018b80
movsx rcx, ax
mov edx, ebx
mov qword [0x180067378], rcx
mov ecx, ebx
mov rax, qword [0x180067378]
cmp rax, 0x23
mov rax, qword [0x180067378]
setl dl
test rax, rax
sets cl
cmp ecx, edx
ja 0x180017660
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x18001764c
mov al, byte [0x18055f270]
mov byte [rsp + 0x50], al
jmp 0x180017694
movzx eax, word [0x1800672a4]
test ax, ax
jne 0x180017694
mov al, byte [0x1800672da]
jmp 0x180017694
movsx r14, byte [rsp + 0x52]
and r14d, 0x6127a461
jmp 0x180017694
mov al, byte [rsp + 0x50]
test al, al
je 0x180017694
mov ecx, dword [0x1800672dc]
test ecx, ecx
movzx edx, byte [0x1800673d0]
movzx eax, byte [0x180067328]
cmovne edx, eax
mov byte [rsp + 0x52], dl
movsx rcx, byte [rsp + 0x58]
movabs rax, 0x57c828cd0624a
add rcx, rax
cmp qword [0x180067388], rcx
je 0x1800175aa
mov esi, dword [rbp - 0x78]
mov eax, 1
mov qword [0x180067390], rax
mov byte [rsp + 0x51], 0x15
mov rax, qword [0x180067390]
test rax, rax
je 0x180017710
cmp rax, 1
jne 0x180017741
movzx ecx, byte [0x1800672a3]
mov rax, qword [0x1800673e0]
imul rax, rcx
cmp byte [0x1800672a7], bl
mov ecx, ebx
sete cl
and cx, ax
mov al, byte [0x180067384]
not cx
mov byte [0x180681b71], al
mov word [rsp + 0x5c], cx
jmp 0x180017741
mov eax, dword [rsp + 0x70]
test edi, edi
mov ecx, ebx
sete cl
sub eax, ecx
movsxd rdx, eax
movzx eax, word [0x1800673c0]
sub esi, eax
movsx eax, word [rsp + 0x5c]
inc eax
add eax, esi
sub edx, eax
sub edx, r14d
add edx, 0x7855a9d7
mov dword [rsp + 0x70], edx
mov ecx, dword [rbp - 0x38]
movabs r12, 0x1b862183e5af9
mov eax, dword [rbp - 0x38]
xor ecx, eax
mov eax, dword [rbp - 0x70]
imul eax, ecx
mov ecx, dword [rbp - 0x70]
imul ecx, eax
mov eax, dword [rbp - 0x6c]
add eax, 0xc126
xor eax, 0xf11d
sub ecx, eax
mov eax, dword [0x18055f270]
add ecx, 0x3375
mov dword [rbp - 0x78], ecx
mov dword [rsp + 0x60], eax
mov rax, qword [0x180067338]
mov eax, dword [rsp + 0x6c]
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1800177ae
mov rcx, qword [rbp - 0x48]
movzx eax, word [0x1800673c4]
imul rcx, r12
sub rax, rcx
mov qword [0x180067368], rax
mov eax, dword [rsp + 0x60]
add eax, 0x19f
mov dword [rbp - 0x70], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rbp - 0x58]
add ecx, eax
mov dword [rbp - 0x58], ecx
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov ecx, dword [rsp + 0x60]
mov byte [0x1800672db], al
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x78], ecx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov ecx, eax
xor r9d, r9d
mov qword [0x180067358], rcx
xor edx, edx
mov dword [rsp + 0x70], 2
movzx eax, word [rsp + 0x5c]
xor r13w, ax
movsx rax, byte [rsp + 0x58]
mov qword [rbp - 0x48], rax
mov eax, 0x95
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], bx
lea r14d, [rax - 0x46]
mov r8d, r14d
lea ecx, [rax - 0xe]
call fcn.1800181e8
movzx eax, ax
mov edx, ebx
mov dword [rsp + 0x70], eax
mov ecx, ebx
mov eax, dword [rsp + 0x70]
cmp eax, 0x2b
mov eax, dword [rsp + 0x70]
setl dl
test eax, eax
sets cl
cmp ecx, edx
jb 0x1800178a9
xor r9d, r9d
lea r8d, [r14 - 0x1f]
mov edx, 0xf3
xor ecx, ecx
call fcn.180018a64
mov al, byte [rsp + 0x52]
test al, al
je 0x180017896
test edi, edi
je 0x180017877
mov byte [rsp + 0x51], 8
jmp 0x1800178a9
mov al, byte [0x1800672a6]
test al, al
mov rax, qword [0x1800673f0]
jne 0x180017890
movsx rax, word [0x18006734c]
mov byte [rsp + 0x53], al
jmp 0x1800178a9
mov eax, dword [0x1800673dc]
mov ecx, 0x7ac3
add ax, cx
mov word [rsp + 0x68], ax
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x70]
sub ecx, eax
mov eax, dword [rbp - 0x58]
cmp eax, ecx
je 0x180017afc
movsx ecx, byte [0x18006730b]
xor r9d, r9d
movsx eax, word [0x1800673d8]
movzx edx, word [0x1800673c0]
mov r8d, dword [0x180067318]
mov dword [rsp + 0x30], ecx
mov ecx, 0xfb
mov dword [rsp + 0x28], 0xbd
mov dword [rsp + 0x20], eax
call fcn.180018dfc
test al, al
jle 0x180017942
mov rax, qword [0x180067320]
mov r15d, 1
add rax, rax
sub rax, qword [0x180067388]
mov qword [0x180067320], rax
mov rax, qword [0x180067328]
test rax, rax
je 0x18001792a
movzx edi, word [0x1800672a4]
movsxd rax, edi
mov qword [0x180067368], rax
mov edi, dword [0x180067348]
add edi, 0x3b738358
jmp 0x180017948
mov eax, dword [0x180067370]
mov eax, dword [0x180067370]
mov ecx, 0x3897
add ax, cx
mov word [0x1800673cc], ax
mov eax, dword [0x18055f270]
mov dword [rsp + 0x60], eax
mov eax, dword [0x1800673dc]
test eax, eax
jne 0x180017998
mov eax, dword [rsp + 0x6c]
mov rcx, qword [0x180067318]
add rcx, r12
not rcx
sub cl, al
mov eax, 0xffffe0e3
not cl
mov word [0x1800673d8], ax
mov byte [0x18006730b], cl
mov eax, dword [rsp + 0x60]
mov ecx, 0x1c0d
add eax, 0x18
mov dword [rbp - 0x58], eax
mov eax, dword [0x1800673b0]
add ax, cx
mov word [rsp + 0x68], ax
movsx eax, word [rsp + 0x5c]
test eax, 0x3ffffff
jne 0x1800179e1
movzx ecx, word [0x1800673d0]
mov eax, 0xf9
imul ecx, eax
mov eax, 0x4751
mov word [0x1800673c0], ax
mov word [rsp + 0x68], cx
mov eax, dword [rsp + 0x60]
mov esi, 0xe67c
add eax, esi
mov r9d, r14d
mov dword [rsp + 0x78], eax
xor r8d, r8d
mov byte [rsp + 0x58], 2
xor edx, edx
mov eax, dword [rsp + 0x6c]
xor ecx, ecx
mov word [0x1800673a8], ax
mov eax, dword [rsp + 0x60]
add eax, 0xd0
mov dword [rbp - 0x6c], eax
mov eax, 0x63
mov word [rsp + 0x20], ax
call fcn.180017f84
movzx eax, ax
mov dword [0x1800673b4], eax
mov eax, dword [0x1800673b4]
test eax, eax
je 0x180017ab2
mov ecx, 0xa8
xor r9d, r9d
xor edx, edx
lea r8d, [rcx - 6]
call fcn.180018754
mov byte [rsp + 0x52], al
mov al, byte [rsp + 0x52]
test al, al
jne 0x180017a7a
movsx rax, byte [rsp + 0x50]
mov rdx, qword [0x180067338]
sub rdx, rax
mov rax, qword [0x180067338]
and rax, rdx
mov qword [0x180067338], rax
jmp 0x180017ac7
movzx ecx, byte [rsp + 0x51]
mov edx, ebx
movsx eax, word [0x1800673d0]
cmp ecx, eax
movsx ecx, byte [0x18006730b]
sete dl
add ecx, edx
je 0x180017ac7
mov rax, qword [0x180067330]
mov rcx, qword [0x1800673b8]
sub rcx, rax
mov qword [0x1800673b8], rcx
jmp 0x180017ac7
movsx rcx, word [rsp + 0x64]
mov rax, qword [0x180067378]
add ax, cx
mov word [rsp + 0x64], ax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rbp - 0x58]
or ecx, eax
mov r10, qword [rbp - 0x28]
xor ecx, esi
mov dword [rsp + 0x78], ecx
test r10, r10
je 0x180017ae8
mov r8, qword [rbp - 0x20]
test r8, r8
jne 0x180017b04
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x78]
jmp 0x180017f5d
mov r10, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
movsxd rax, dword [0x1800673dc]
add qword [0x180067388], rax
or rsi, 0xffffffffffffffff
mov r14, rsi
inc r14
cmp byte [r10 + r14], bl
jne 0x180017b19
mov edx, dword [0x18055f270]
mov dword [rsp + 0x6c], edx
inc rsi
cmp byte [r8 + rsi], bl
jne 0x180017b2c
cmp rsi, r14
jbe 0x180017f27
cmp qword [0x180067340], 0x5f
mov eax, ebx
setne al
test eax, eax
jne 0x180017ba2
movzx ecx, word [0x1800673a8]
movsx eax, r15w
cmp ecx, eax
jne 0x180017b99
movsx ecx, byte [rsp + 0x50]
movzx eax, word [rsp + 0x68]
movsx rdx, byte [0x1800672a6]
imul rdx, qword [0x180067340]
imul eax, ecx
movsxd rcx, eax
mov rax, rbx
and rdx, rcx
movsx rcx, word [rsp + 0x5c]
add rcx, rdx
sete al
mov qword [0x180067350], rax
jmp 0x180017be1
mov qword [0x180067378], rdx
jmp 0x180017be1
test r13w, r13w
jne 0x180017bb7
mov eax, dword [0x1800673b0]
test eax, eax
jne 0x180017bb7
mov r8d, ebx
jmp 0x180017bbd
mov r8d, 1
movzx ecx, word [rsp + 0x68]
mov edx, ebx
mov rax, qword [0x180067368]
cmp rcx, rax
setne dl
cmp edx, r8d
je 0x180017be1
movsx edi, word [rsp + 0x5c]
sub edi, 0x1cedfc17
mov rcx, qword [rbp - 0x30]
mov dword [0x1800673e8], 0xf354
add rcx, 0xf354
mov eax, dword [0x1800673e8]
cmp rax, rcx
jne 0x180017c2a
mov rax, qword [str.IaM:]
movabs rcx, 0x1b862183f28ad
cmp rax, rcx
jne 0x180017c2a
mov rax, qword [rbp - 0x40]
add eax, 0x301fce6e
mov dword [0x180067348], eax
mov al, byte [rsp + 0x58]
mov eax, dword [0x18055f270]
mov edx, 0x1c35
mov dword [0x1800673e8], 0xf354
mov r9d, 0x2d
mov dword [rsp + 0x60], eax
movzx eax, word [0x1800672a4]
add ax, dx
mov word [rsp + 0x68], ax
lea ecx, [r9 + 0x64]
mov eax, dword [rsp + 0x60]
add eax, 0x59
mov dword [rsp + 0x78], eax
mov eax, 0xe77214a4
mov qword [0x180067338], rax
mov eax, dword [rsp + 0x60]
add eax, 0xf6
mov dword [rsp + 0x78], eax
lea eax, [rcx - 0x61]
movsx edx, byte [rsp + 0x50]
movzx r8d, word [0x180067340]
mov word [rsp + 0x20], ax
call fcn.180017f84
mov word [rsp + 0x5c], ax
mov ecx, 1
movzx eax, word [rsp + 0x5c]
mov edx, ebx
cmp ax, cx
movzx eax, word [rsp + 0x5c]
mov ecx, ebx
setne dl
test ax, ax
setne cl
cmp ecx, edx
jae 0x180017cce
mov r12d, dword [rsp + 0x6c]
sub r12d, 0xb6abade
mov eax, dword [rsp + 0x60]
mov edx, 0x47
add eax, 0x35
movzx r8d, r15w
mov dword [rbp - 0x70], eax
mov rax, qword [0x180067390]
mov ecx, dword [rsp + 0x6c]
lea r9d, [rdx + 0x3b]
mov word [rsp + 0x30], ax
mov word [rsp + 0x28], bx
mov word [rsp + 0x20], bx
call fcn.180018468
movzx eax, ax
mov dword [0x1800672dc], eax
mov rax, qword [rbp - 0x60]
not rax
test rax, rax
je 0x180017d5c
mov rcx, qword [0x180067390]
mov rax, qword [rbp - 0x60]
cmp rax, rcx
ja 0x180017d5c
mov ecx, dword [rsp + 0x6c]
mov edx, ebx
movsx eax, word [0x1800673d0]
not eax
and ecx, eax
mov eax, dword [rsp + 0x70]
cmp eax, ecx
movsx ecx, byte [rsp + 0x53]
movzx eax, word [0x1800673c0]
sete dl
sub ecx, edi
imul eax, ecx
add eax, edx
mov dword [0x1800673ac], eax
mov al, byte [rsp + 0x51]
mov r8, qword [rbp - 0x48]
neg al
movzx edx, byte [0x1800672a3]
movabs rax, 0xfff99e0670a23f09
sbb rcx, rcx
add rdx, rax
mov al, byte [0x1800672a6]
and ecx, 0x2531
add rcx, 0xffffffffffffdace
xor r8, 0xff
add r8, rcx
test al, al
movzx ecx, r8b
sete al
xor al, dl
movzx edx, al
imul edx, ecx
mov byte [0x1800672f3], dl
mov rax, qword [0x180067390]
sub byte [0x1800672db], al
mov eax, dword [rbp - 0x64]
mov eax, dword [rbp - 0x64]
mov eax, dword [rbp - 0x70]
mov ecx, dword [rbp - 0x70]
add eax, 0xffffff96
add ecx, eax
mov dword [rbp - 0x58], ecx
mov rcx, qword [0x1800673b8]
mov rax, qword [0x1800673b8]
sub rcx, qword [0x180067358]
add rax, rcx
mov qword [0x1800673b8], rax
mov eax, dword [0x18055f270]
mov dword [rsp + 0x60], eax
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
mov byte [rsp + 0x53], al
mov eax, dword [rsp + 0x60]
add eax, 0x373
mov dword [rsp + 0x78], eax
mov eax, dword [0x1800672f4]
xor eax, 0x6d
mov dword [0x180067370], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rbp - 0x50]
add ecx, eax
mov dword [rsp + 0x70], ecx
mov ecx, dword [rsp + 0x60]
mov eax, dword [rbp - 0x68]
add ecx, eax
mov dword [rbp - 0x64], ecx
mov r8d, dword [rsp + 0x70]
mov eax, dword [rbp - 0x80]
imul r8d, eax
mov eax, dword [rsp + 0x70]
sub r8d, eax
mov eax, dword [rbp - 0x64]
sub r8d, eax
mov eax, dword [rbp - 0x64]
mov ecx, dword [rbp - 0x78]
mov edx, dword [rsp + 0x70]
sub ecx, eax
mov eax, dword [rsp + 0x78]
imul edx, ecx
imul eax, edx
cmp r8d, eax
je 0x180017f1f
movsx ecx, byte [rsp + 0x53]
mov eax, dword [0x180067370]
cmp eax, ecx
jg 0x180017e8f
mov ecx, dword [0x1800672dc]
movsx eax, r15w
cmp ecx, eax
je 0x180017eb7
movsxd rcx, dword [0x1800673c8]
mov edx, ebx
mov rax, qword [rbp - 0x60]
cmp rax, rcx
mov eax, ebx
mov ecx, 0x9d
sete dl
cmp cx, word [0x1800673d8]
setne al
cmp eax, edx
jae 0x180017edc
movsx rcx, byte [rsp + 0x50]
mov eax, ebx
cmp r12, rcx
setb al
cmp r12, 0x26
setb bl
cmp eax, ebx
je 0x180017f1a
mov eax, dword [0x18055f270]
mov dword [rsp + 0x70], eax
jmp 0x180017f1a
movzx ecx, word [0x1800673d4]
sub ecx, 0xa009
mov dword [0x180067370], ecx
movsx ecx, byte [rsp + 0x52]
mov rax, qword [0x1800673a0]
not ecx
movsxd rdx, ecx
xor rax, rdx
mov rax, qword [str.IaM:]
sete bl
movsx edx, al
movsx ecx, bl
imul edx, ecx
mov byte [rsp + 0x58], dl
mov eax, dword [rbp - 0x58]
jmp 0x180017f5d
mov r10, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
mov qword [rsp + 0x40], rbx
lea rcx, [0x1800431e4]
mov qword [rsp + 0x38], rbx
sub r10, rsi
mov qword [rsp + 0x30], rbx
mov r9, rsi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea rdx, [r14 + r10]
call fcn.18001abb0
test eax, eax
sete bl
mov eax, ebx
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.18003f550
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret