Function at 0x18000a9b0
Capabilities:
Accept command line arguments

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov rax, qword [0x180067a78]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov qword [rbp - 0x71], 0x21f0c80f
mov eax, 0xffff8000
mov dword [rbp - 0x7d], eax
mov rdi, rdx
mov rax, qword [0x180067108]
xor edx, edx
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], rcx
mov ecx, 0xa2d45e6d
mov qword [rbp - 0x41], rcx
movzx eax, word [0x1800670fc]
mov byte [rsp + 0x23], 0x2d
mov qword [rbp - 0x39], rax
mov eax, 0xffffce0c
mov word [rbp - 0x79], ax
mov eax, dword [0x180067090]
mov byte [rsp + 0x20], al
mov r14, qword [0x1800670c8]
movsx rax, byte [0x18006700b]
mov qword [rbp - 0x49], rax
mov rax, qword [0x180067120]
mov dword [rsp + 0x34], 0x5e32
movsxd rax, dword [0x1800670dc]
mov rsi, qword [0x1800670d0]
mov qword [rbp - 9], rax
mov rax, qword [0x180067108]
mov qword [rbp - 0x19], rax
movsx rax, byte [0x180067076]
mov qword [rbp - 0x61], rax
movzx eax, word [0x180067168]
mov word [rsp + 0x28], ax
mov eax, 0xda1c7c2b
mov qword [rbp - 0x21], rax
movabs rax, 0x4f66a11890ea2
mov byte [rsp + 0x24], 0x22
mov qword [rbp - 1], 0x9b
mov qword [rbp - 0x11], rax
movzx eax, word [0x180067110]
mov dword [rbp - 0x75], eax
movzx eax, word [0x1800670e8]
mov word [rsp + 0x24], ax
mov al, byte [0x180067168]
mov dword [rbp - 0x75], 0xf046
mov byte [rsp + 0x24], al
mov eax, 3
mov word [rsp + 0x24], ax
mov eax, dword [0x180067150]
mov dword [rbp - 0x75], eax
mov eax, 0x1deb
mov word [rsp + 0x24], ax
movzx eax, word [0x180067140]
mov word [rsp + 0x24], ax
mov word [0x1800670fc], dx
movzx eax, word [0x1800670fc]
mov byte [rbp - 0x59], 0x30
mov dword [rsp + 0x38], 0xcb9e
test ax, ax
jne 0x18000ab2c
movabs rax, 0xca0ef5481079f
mov qword [0x180067120], rax
mov eax, dword [0x1800670dc]
test eax, eax
je 0x18000ab6b
movsx ecx, byte [0x18006700b]
mov eax, 0x3857
sub cx, ax
mov word [0x180067104], cx
movsx rcx, byte [0x18006702e]
mov rax, qword [rbp - 0x61]
sub rcx, rax
mov al, byte [0x18006702e]
xor al, cl
mov byte [0x18006702e], al
jmp 0x18000ab80
movzx eax, word [0x18006712c]
add ax, word [0x1800670d8]
mov word [0x18006712c], ax
movsx rcx, word [rsp + 0x28]
mov ebx, edx
mov rax, qword [0x180067120]
mov r13, qword [rbp - 0x29]
add ax, cx
mov word [rsp + 0x28], ax
mov r15d, esi
movsx r12d, r14w
mov rax, qword [rbp - 0x61]
dec rax
mov qword [rbp - 0x61], rax
call qword [sym.imp.USER32.dll_GetFocus]
xor edx, edx
test rax, rax
je 0x18000abc9
lea r8d, [rdx + 1]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetUpdateRect]
xor edx, edx
cmp r15, qword [0x1800670a8]
jg 0x18000abe8
movsx eax, word [0x18006712c]
mov ecx, 1
not eax
cdqe
cmp qword [rbp - 0x31], rax
jge 0x18000abea
mov ecx, edx
mov al, byte [0x18006702e]
mov rax, qword [rbp - 0x21]
test ecx, ecx
je 0x18000ac0a
movzx ecx, word [0x180067104]
sub rcx, 0xf3
mov qword [rbp - 0x61], rcx
mov eax, dword [0x180068460]
mov dword [rsp + 0x24], eax
movsx ecx, byte [0x18006702e]
movzx eax, word [rbp - 0x79]
cmp ax, cx
jl 0x18000ac3b
movzx eax, word [0x180067104]
imul eax, dword [rsp + 0x38]
cdqe
mov qword [0x180067140], rax
jmp 0x18000ac45
lea ecx, [rsi + 0x7f49be3e]
mov qword [rbp - 0x71], rcx
mov eax, dword [rsp + 0x24]
add eax, 0x1cc
mov dword [rsp + 0x30], eax
mov eax, dword [0x18006714c]
cmp r12d, eax
jne 0x18000acaf
call qword [sym.imp.USER32.dll_AnyPopup]
mov eax, eax
xor edx, edx
mov qword [rbp - 0x11], rax
test rax, rax
je 0x18000ac9e
movzx edx, word [0x1800670fc]
movzx eax, word [0x1800670fc]
sub edx, eax
mov eax, dword [rsp + 0x34]
add ax, dx
mov word [0x1800670fc], ax
mov rax, qword [rbp - 0x71]
shl rax, 4
mov qword [rbp - 0x19], rax
xor edx, edx
jmp 0x18000acaf
mov eax, dword [rsp + 0x34]
mov byte [0x18006700f], al
mov byte [0x18006700e], 0x10
mov eax, dword [rsp + 0x24]
add eax, 0x189
cmp dword [0x18006709c], edx
mov dword [rbp - 0x69], eax
je 0x18000acde
mov rax, qword [rbp - 0x21]
test r14w, r14w
mov rcx, rdx
sete cl
imul rcx, rax
not rcx
mov qword [rbp - 0x71], rcx
jmp 0x18000ad02
mov eax, dword [rsp + 0x34]
cmp qword [0x1800670e8], rax
je 0x18000ad02
movsx eax, byte [0x18006704e]
sub dword [rsp + 0x38], eax
mov eax, 0x3898
mov word [0x1800670a0], ax
mov eax, dword [rsp + 0x24]
add eax, 0x368
mov byte [0x180067076], 5
mov dword [rbp - 0x75], eax
mov al, byte [0x18006700b]
mov ecx, dword [rbp - 0x69]
mov eax, dword [rsp + 0x30]
add ecx, eax
cmp ecx, 0x12c
je 0x18000ad60
lea edx, [rbx*4]
mov al, byte [rdx + rdi]
mov byte [rdx + r13], al
lea eax, [rdx + 1]
mov ecx, eax
mov al, byte [rax + rdi]
mov byte [rcx + r13], al
lea eax, [rdx + 2]
mov ecx, eax
mov al, byte [rax + rdi]
mov byte [rcx + r13], al
lea eax, [rdx + 3]
mov ecx, eax
xor edx, edx
mov al, byte [rax + rdi]
mov byte [rcx + r13], al
inc ebx
mov r8d, 8
cmp ebx, r8d
jb 0x18000aba2
mov rax, qword [0x180067120]
mov ecx, edx
mov r13, qword [rbp - 0x39]
cmp r13, rax
mov eax, edx
setne cl
cmp r13, 0x3f
setne al
cmp ecx, eax
jb 0x18000adbc
cmp word [0x18006704c], dx
je 0x18000adb6
movzx ecx, byte [rsp + 0x20]
movzx eax, byte [rsp + 0x20]
sub rcx, rax
mov rax, qword [0x180067130]
sub cl, al
mov byte [rsp + 0x20], cl
jmp 0x18000add7
mov eax, dword [rsp + 0x34]
jmp 0x18000add7
mov eax, dword [0x180067090]
mov eax, dword [0x1800670b8]
mov al, byte [rsp + 0x20]
mov rax, qword [rbp - 0x71]
mov rax, qword [0x180067130]
mov r15b, byte [rsp + 0x23]
mov rbx, r8
mov r12, qword [rbp - 0x49]
mov r14d, r8d
mov qword [rbp - 0x39], rbx
mov dword [rbp - 0x55], r8d
movsx rdi, word [rsp + 0x28]
movzx esi, r12w
movzx eax, byte [rbp - 0x59]
or rdi, rax
movzx eax, word [0x180067110]
imul eax, eax, 0xc827
mov qword [rbp - 1], rdi
movsxd rcx, eax
mov rax, qword [rbp - 0x41]
or rax, rcx
mov qword [rbp - 0x41], rax
mov eax, dword [0x180068460]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x34]
mov word [0x180067168], ax
mov eax, dword [rsp + 0x2c]
and si, word [0x180067168]
add eax, 0xe9
mov dword [rbp - 0x75], eax
mov eax, 0xd0
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0x2c]
add eax, 0x61
mov dword [rbp - 0x69], eax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
xor r8d, r8d
mov qword [0x1800670b0], rcx
mov edx, r8d
mov eax, dword [rsp + 0x2c]
mov ecx, dword [0x1800670a4]
add eax, 0x20d
cmp rcx, qword [0x180067108]
mov dword [rsp + 0x30], eax
mov eax, r8d
setne dl
cmp ecx, 0x60
setne al
cmp edx, eax
jne 0x18000aeb6
movzx ecx, word [0x180067100]
mov rax, qword [rbp - 0x71]
cmp rax, rcx
jae 0x18000aed2
mov qword [0x180067140], 0xcad6
jmp 0x18000aed2
mov eax, dword [0x1800670f8]
test eax, eax
je 0x18000aed2
mov rax, qword [0x180067120]
shr rax, 6
mov word [0x1800670c4], ax
mov eax, dword [0x180068460]
mov ecx, r12d
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
add eax, 0xd2
mov dword [rsp + 0x30], eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor r8d, r8d
mov dword [0x1800670b8], eax
mov eax, dword [0x1800670b8]
mov edx, r8d
cmp eax, 0x29
mov ecx, r8d
mov eax, dword [0x1800670b8]
seta dl
test eax, eax
setne cl
cmp ecx, edx
jae 0x18000af36
movsx r13, byte [0x18006704e]
movabs rax, 0xe8200b8ca4853
imul r13, qword [rbp - 0x19]
sub r13, rax
mov eax, dword [rsp + 0x2c]
add eax, 0x122
mov dword [rbp - 0x51], eax
mov eax, dword [rsp + 0x2c]
add eax, 0x354
mov dword [rbp - 0x51], eax
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, 0xa7
cmp ecx, eax
je 0x18000b603
mov ecx, dword [0x180067128]
mov rax, qword [rbp - 0x61]
mov r12d, dword [rbp - 0x7d]
sub rax, rcx
add r12w, word [rsp + 0x38]
mov qword [rbp - 0x61], rax
mov rax, qword [0x1800670d0]
add rax, rdi
movsx ebx, r12w
mov qword [0x1800670d0], rax
add ebx, 0x9ce6fed4
mov eax, dword [0x180068460]
mov qword [rbp - 0x61], rax
mov dword [0x1800670f8], 0xa6
movsx eax, word [0x1800670c4]
mov dword [rbp - 0x7d], r12d
cmp eax, ebx
jne 0x18000b0c3
mov r12, qword [rbp - 0x49]
mov r14, qword [rbp - 0x31]
mov rcx, qword [0x1800670e8]
add rcx, r14
cmp rcx, 1
jne 0x18000b0b7
mov cl, byte [0x18006704c]
call fcn.18000c0b0
xor r8d, r8d
movsx rcx, al
mov qword [0x1800670d0], rcx
mov edx, r8d
mov rax, qword [0x1800670d0]
mov ecx, r8d
cmp rax, 0x2a
mov rax, qword [0x1800670d0]
sete dl
test rax, rax
sete cl
cmp ecx, edx
jae 0x18000b043
mov rax, qword [0x1800670f0]
movsx rdx, word [0x1800670c4]
sub r12, rax
mov rax, qword [0x1800670f0]
movsx ecx, ax
imul ecx, edx
mov word [0x1800670c4], cx
jmp 0x18000b09e
cmp qword [0x1800670a8], r8
je 0x18000b066
movsx eax, word [0x180067148]
movzx ecx, byte [0x18006702f]
imul eax, ecx
mov word [0x180067148], ax
jmp 0x18000b09e
mov eax, dword [0x1800670bc]
not eax
imul eax, eax, 0x47dd
test eax, eax
jne 0x18000b09e
cmp byte [0x18006700f], r8b
je 0x18000b09e
movzx edx, word [0x180067098]
movzx ecx, byte [0x18006704f]
xor edx, 0xf2dff9c8
add ecx, edx
sete byte [0x18006702f]
mov dword [0x1800670f8], 0xa6
movsx eax, word [0x1800670c4]
cmp eax, ebx
je 0x18000afc9
mov r14d, dword [rbp - 0x55]
mov qword [rbp - 0x49], r12
mov r12d, dword [rbp - 0x7d]
mov eax, dword [0x180068460]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
add eax, 0x1c2
mov dword [rbp - 0x51], eax
mov qword [0x180067120], 4
movsx eax, dil
imul ecx, eax, 0xffffff8f
mov eax, dword [0x18006709c]
mov byte [0x18006704e], cl
mov rcx, qword [rbp - 0x71]
imul rcx, rax
mov qword [rbp - 0x71], rcx
mov rax, qword [0x180067120]
test rax, rax
je 0x18000b1a8
sub rax, 1
je 0x18000b17f
sub rax, 1
je 0x18000b16b
sub rax, 1
je 0x18000b140
cmp rax, 1
jne 0x18000b1b9
mov rax, qword [rbp - 0x21]
sar rax, 3
mov qword [0x1800670a8], rax
jmp 0x18000b1b9
mov rax, qword [0x1800670f0]
imul ecx, eax, 0xa74a
movzx eax, word [0x1800670a8]
mov dword [0x180067164], ecx
mov ecx, 0x55c1
sub ax, cx
mov word [0x1800670c4], ax
jmp 0x18000b1b9
movzx eax, word [rbp - 0x79]
mov byte [0x18006702f], al
mov dword [rsp + 0x34], 8
jmp 0x18000b1b9
movsx rdx, word [0x18006712c]
mov rax, qword [rbp - 0x41]
movsx ecx, ax
movzx eax, word [0x180067140]
imul ecx, edx
mov word [0x180067114], ax
mov word [0x18006712c], cx
jmp 0x18000b1b9
mov rax, qword [0x1800670f0]
sar rax, 7
mov byte [0x180067076], al
mov eax, dword [rsp + 0x2c]
add eax, 0x24e
mov dword [rsp + 0x30], eax
cmp qword [rbp - 0x19], r8
je 0x18000b1d8
movzx eax, byte [rbp - 0x11]
imul eax, eax, 0x2d
mov dword [rbp - 0x59], eax
jmp 0x18000b209
movsx ecx, word [0x18006712c]
movzx eax, word [0x180067100]
add eax, ecx
not eax
test eax, eax
je 0x18000b209
mov eax, 2
movsx r12d, r12w
mov word [0x180067100], ax
movsx eax, si
imul r12d, eax
mov dword [rbp - 0x7d], r12d
mov eax, dword [rsp + 0x2c]
add eax, 0x6f
mov dword [rbp - 0x51], eax
movzx eax, word [rsp + 0x28]
add al, 0x4d
mov qword [0x1800670e8], 0x3727
mov byte [rsp + 0x20], al
movsxd rax, dword [0x1800670dc]
mov rdx, qword [0x180067138]
sub rdx, rax
mov eax, dword [0x1800670dc]
add eax, edx
mov dword [0x1800670dc], eax
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, 0xfffffcc0
xor eax, 2
cmp ecx, eax
je 0x18000b2d4
mov eax, dword [0x18004b7b8]
lea rcx, [rbp + 7]
movups xmm0, xmmword [str.api_ms_win_core_pr]
mov dword [rbp + 0x27], eax
movups xmm1, xmmword [0x18004b7a8]
movzx eax, word [0x18004b7bc]
movups xmmword [rbp + 7], xmm0
mov word [rbp + 0x2b], ax
movups xmmword [rbp + 0x17], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rsi, qword [rbp - 0x29]
lea edx, [r14*4 - 4]
mov eax, eax
mov qword [str.3_lV], rax
lea eax, [rdx + 1]
mov r15b, byte [rdx + rsi]
mov al, byte [rax + rsi]
mov byte [rsp + 0x21], al
lea eax, [rdx + 2]
mov r11b, byte [rax + rsi]
lea eax, [rdx + 3]
mov r10b, byte [rax + rsi]
mov byte [rsp + 0x24], r10b
mov byte [rsp + 0x22], r11b
jmp 0x18000b2e2
mov rsi, qword [rbp - 0x29]
mov r10b, byte [rsp + 0x24]
mov r11b, byte [rsp + 0x22]
mov ebx, r14d
and ebx, 7
mov dword [rsp + 0x30], ebx
jne 0x18000b4f1
mov ecx, 0x26
call fcn.18000c1f0
movzx eax, ax
mov qword [0x180067130], rax
mov rax, qword [0x180067130]
test rax, rax
je 0x18000b338
mov rax, qword [rbp - 0x49]
add eax, 0x19a4
mov dword [0x180067128], eax
mov eax, dword [0x1800670dc]
imul eax, eax, 0x5a209726
cdqe
mov qword [0x1800670e8], rax
jmp 0x18000b35c
movzx r12d, word [0x1800670bc]
mov eax, 0x58a4
movsx ecx, word [rbp - 9]
cwde
imul ecx, eax
neg r12w
mov dword [rbp - 0x7d], r12d
mov word [0x180067114], cx
mov rcx, qword [rbp - 0x41]
call qword [sym.imp.USER32.dll_GetTopWindow]
test ax, ax
jne 0x18000b38d
movsx rax, byte [0x18006704e]
movabs rcx, 0xe8200b8ca4853
cmp rax, rcx
jb 0x18000b38d
movzx eax, byte [0x18006702f]
mov qword [rbp - 0x49], rax
mov byte [0x18006700b], 0xa9
movsx rdx, byte [0x18006700b]
add rdx, qword [rbp - 0x31]
movzx eax, word [0x180067110]
cmp rax, rdx
jne 0x18000b497
mov esi, dword [rsp + 0x38]
xor edi, edi
mov rbx, qword [rbp - 0x49]
mov r14, qword [rbp - 0x31]
mov rcx, qword [str.3_lV]
call qword [sym.imp.USER32.dll_GetLastActivePopup]
mov eax, eax
mov qword [rbp - 9], rax
mov rax, qword [rbp - 0x71]
add rax, 5
cmp qword [0x180067150], rax
jne 0x18000b483
cmp qword [0x180067158], rdi
je 0x18000b3f3
mov rax, qword [rbp - 0x41]
mov ecx, dword [0x180067094]
movsx rax, word [0x180067160]
or rax, rcx
or rax, rbx
jne 0x18000b414
test r13, r13
je 0x18000b461
mov rax, qword [rbp - 0x71]
jmp 0x18000b461
movzx eax, byte [rsp + 0x23]
cmp eax, esi
jle 0x18000b435
imul esi, dword [0x1800670d8], 0x87bcec76
mov al, r14b
sub al, r12b
add al, 0x53
mov byte [rsp + 0x23], al
jmp 0x18000b461
cmp qword [0x180067158], rdi
je 0x18000b461
movzx eax, word [rsp + 0x28]
mov ecx, 0x7acb
sar ax, 3
mov byte [rsp + 0x20], al
movzx eax, word [0x1800670bc]
sub ax, cx
and word [0x18006704c], ax
mov byte [0x18006700b], 0xa9
movsx rdx, byte [0x18006700b]
movzx eax, word [0x180067110]
add rdx, r14
cmp rax, rdx
je 0x18000b3be
mov ebx, dword [rsp + 0x30]
mov rdi, qword [rbp - 1]
mov r14d, dword [rbp - 0x55]
mov dword [rsp + 0x38], esi
mov rsi, qword [rbp - 0x29]
movzx eax, byte [rsp + 0x22]
lea r8, [0x180000000]
movzx ecx, byte [rsp + 0x21]
mov dl, byte [rax + r8 + 0x4b550]
movzx eax, byte [rsp + 0x24]
mov byte [rsp + 0x21], dl
mov r11b, byte [rax + r8 + 0x4b550]
movzx eax, r15b
mov byte [rsp + 0x22], r11b
mov r10b, byte [rax + r8 + 0x4b550]
mov rax, qword [rbp - 0x39]
shr rax, 3
mov byte [rsp + 0x24], r10b
mov r15b, byte [rax + r8 + 0x4b750]
xor r15b, byte [rcx + r8 + 0x4b550]
jmp 0x18000b4fc
mov dl, byte [rsp + 0x21]
lea r8, [0x180000000]
cmp ebx, 4
jne 0x18000b53e
movzx eax, r15b
mov r15b, byte [rax + r8 + 0x4b550]
movzx eax, dl
mov dl, byte [rax + r8 + 0x4b550]
movzx eax, r11b
mov byte [rsp + 0x21], dl
mov r11b, byte [rax + r8 + 0x4b550]
movzx eax, r10b
mov byte [rsp + 0x22], r11b
mov r10b, byte [rax + r8 + 0x4b550]
mov byte [rsp + 0x24], r10b
mov rax, qword [rbp - 0x61]
cmp qword [0x180067108], rax
jae 0x18000b599
mov rax, qword [rbp - 0x71]
xor r8d, r8d
test rax, rax
je 0x18000b56f
movsx eax, byte [0x18006700e]
not rdi
not eax
movsxd rcx, eax
sub rdi, rcx
mov qword [rbp - 0x21], rdi
jmp 0x18000b599
mov al, byte [0x180067138]
movzx ecx, word [0x18006704c]
xor al, 0xf4
cmp qword [0x180067118], r8
mov byte [0x18006700f], al
movzx eax, byte [rbp - 0x59]
cmovne cx, ax
movzx eax, cx
mov dword [rbp - 0x7d], eax
mov ecx, dword [rbp - 0x69]
lea r9d, [r14*4]
mov eax, dword [rbp - 0x69]
xor ecx, eax
mov r8d, dword [rbp - 0x75]
mov rbx, qword [rbp - 0x39]
xor r8d, 0x300
mov r12, qword [rbp - 0x49]
imul r8d, ecx
mov cl, r15b
add r8d, 0xffffffe0
lea r8d, [r8 + r14*4]
xor cl, byte [r8 + rsi]
lea eax, [r8 + 1]
mov byte [r9 + rsi], cl
xor dl, byte [rax + rsi]
lea eax, [r9 + 1]
mov byte [rax + rsi], dl
lea eax, [r8 + 2]
mov dl, r11b
xor dl, byte [rax + rsi]
lea eax, [r9 + 2]
mov byte [rax + rsi], dl
lea eax, [r8 + 3]
mov dl, r10b
xor dl, byte [rax + rsi]
lea eax, [r9 + 3]
mov byte [rax + rsi], dl
inc r14d
inc rbx
mov dword [rbp - 0x55], r14d
mov qword [rbp - 0x39], rbx
cmp r14d, 0x3c
jb 0x18000adee
mov eax, dword [0x180067138]
sub dword [0x18006709c], eax
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.18003f550
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret