Function at 0x180046250
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x560
mov rax, qword [0x1800a66e0]
mov dword [rsp + 0x3cc], eax
mov byte [rsp + 0x41], 0xb2
movabs rax, 0x517565a82b54c
mov qword [rsp + 0x98], rax
movzx eax, byte [0x1800a6624]
mov byte [rsp + 0x42], al
movzx eax, byte [0x1800a6567]
mov word [rsp + 0x50], ax
movzx eax, word [0x1800a6688]
mov word [rsp + 0x5c], ax
mov byte [rsp + 0x43], 3
mov qword [rsp + 0xb8], 0x23
movzx eax, byte [0x1800a65a6]
mov byte [rsp + 0x40], al
mov eax, dword [0x1800a65bc]
cdqe
mov qword [rsp + 0x70], rax
mov eax, 0xffff9724
mov word [rsp + 0x88], ax
mov eax, 0x165f
mov word [rsp + 0x4c], ax
mov byte [rsp + 0x44], 0xd0
mov byte [rsp + 0x46], 0x13
mov rax, qword [0x1800a66e0]
mov word [rsp + 0x54], ax
movabs rax, 0x85405033e25b9
mov qword [rsp + 0x80], rax
mov eax, dword [0x1800a66c8]
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x68], 0x964f
movzx eax, byte [0x1800a65e7]
movsx ax, al
mov word [rsp + 0x48], ax
mov byte [rsp + 0x45], 0xb5
mov rax, qword [0x1800a6668]
mov dword [rsp + 0x60], eax
movzx eax, byte [0x1800a6698]
mov byte [rsp + 0x47], al
mov rax, qword [0x1800a66b8]
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x58], 0xb0609ac
movzx eax, byte [0x1800a65a6]
movzx eax, al
mov dword [rsp + 0x7c], eax
mov eax, 0xffffecab
mov word [rsp + 0x270], ax
movzx eax, word [0x1800a66ec]
mov word [rsp + 0x310], ax
mov dword [rsp + 0x3d0], 0x51
mov eax, 0x6e6f
mov word [rsp + 0x30c], ax
mov eax, 0xffff8d24
mov word [rsp + 0x31c], ax
mov eax, 0x79d5
mov word [rsp + 0x308], ax
movzx eax, byte [0x1800a65a7]
mov word [rsp + 0x304], ax
movzx eax, word [0x1800a668c]
mov word [rsp + 0x300], ax
movabs rax, 0xe3ede16048e27
mov qword [rsp + 0x428], rax
mov eax, 0x24
mov word [rsp + 0x320], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xd0], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x338], rax
cmp qword [rsp + 0x338], 0
je 0x18004644e
mov rcx, qword [rsp + 0x338]
call qword [sym.imp.USER32.dll_GetMenu]
mov qword [rsp + 0x430], rax
call qword [sym.imp.USER32.dll_EndMenu]
mov dword [rsp + 0x3dc], eax
movzx eax, word [0x1800a66b4]
cwde
test eax, eax
jg 0x180046467
mov dword [rsp + 0x124], 1
jmp 0x180046472
mov dword [rsp + 0x124], 0
movzx eax, word [0x1800a66b4]
cwde
cmp eax, 3
jg 0x18004648c
mov dword [rsp + 0x120], 1
jmp 0x180046497
mov dword [rsp + 0x120], 0
mov eax, dword [rsp + 0x120]
cmp dword [rsp + 0x124], eax
jne 0x1800464a9
jmp 0x1800464b8
movzx eax, word [0x1800a66b4]
cwde
add eax, 0x23
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0xd0]
add eax, 0x5d3
mov dword [rsp + 0x278], eax
movsx eax, byte [rsp + 0x42]
sub eax, 0x5913
mov word [rsp + 0x5c], ax
mov eax, 1
imul rax, rax, 0x1a98
lea rcx, [0x1809cdaf0]
movzx edx, byte [rsp + 0x90]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0xd0]
add eax, 0x3d6
mov dword [rsp + 0x140], eax
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x180046546
movsx rax, word [0x1800a6690]
movabs rcx, 0xde34853eda227
and rax, rcx
mov byte [0x1800a658e], al
movzx eax, byte [rsp + 0x45]
movsx eax, al
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
jmp 0x180046563
mov rax, qword [0x1800a66b8]
mov ecx, 1
imul rcx, rcx, 0x4009
lea rdx, [0x18099f360]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0xd0]
add eax, 0x6da
mov dword [rsp + 0xac], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xd4], eax
movzx eax, byte [0x1800a658e]
add eax, dword [0x1800a66c8]
movzx ecx, byte [0x1800a658e]
sub ecx, eax
mov eax, ecx
mov byte [0x1800a658e], al
mov eax, dword [rsp + 0xd4]
add eax, 0x3e7
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x50e
mov dword [rsp + 0x3d4], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x6e8
mov dword [rsp + 0x2a0], eax
movsx eax, byte [rsp + 0x46]
test eax, eax
jne 0x1800465f0
mov dword [rsp + 0x128], 1
jmp 0x1800465fb
mov dword [rsp + 0x128], 0
movzx eax, byte [0x1800a65a6]
movzx eax, al
add eax, dword [rsp + 0x128]
cdqe
mov qword [rsp + 0xb8], rax
movzx eax, byte [0x1800a65e6]
movzx eax, al
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
sub eax, ecx
cdqe
mov rcx, qword [0x1800a66b8]
add rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xdc], eax
mov eax, 0x70
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0xdc]
add eax, 0x408
mov dword [rsp + 0x2b4], eax
mov eax, dword [rsp + 0xdc]
add eax, 0x445
mov dword [rsp + 0x104], eax
movsx eax, byte [rsp + 0x43]
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
cmp eax, ecx
jle 0x180046696
mov dword [rsp + 0x130], 1
jmp 0x1800466a1
mov dword [rsp + 0x130], 0
movsx eax, byte [rsp + 0x43]
cmp eax, 0x26
jle 0x1800466b8
mov dword [rsp + 0x12c], 1
jmp 0x1800466c3
mov dword [rsp + 0x12c], 0
mov eax, dword [rsp + 0x12c]
cmp dword [rsp + 0x130], eax
jne 0x1800467cb
mov byte [0x1800a65fb], 2
mov eax, dword [0x1800a66cc]
cdqe
mov rcx, qword [rsp + 0x98]
imul rax, rcx
mov dword [0x1800a66cc], eax
movsx eax, byte [rsp + 0x46]
test eax, eax
je 0x180046712
movzx eax, byte [rsp + 0x47]
movsx eax, al
mov dword [rsp + 0x134], eax
jmp 0x18004671f
mov eax, dword [0x1800a66e8]
mov dword [rsp + 0x134], eax
mov eax, dword [rsp + 0x134]
mov qword [rsp + 0x68], rax
movzx eax, byte [0x1800a65fb]
mov byte [rsp + 0xd8], al
cmp byte [rsp + 0xd8], 0
je 0x180046759
cmp byte [rsp + 0xd8], 1
je 0x180046773
cmp byte [rsp + 0xd8], 2
je 0x1800467a6
jmp 0x1800467c9
mov qword [0x1800a6680], 0xf15d
mov eax, dword [rsp + 0x7c]
add eax, 0x9397
mov byte [rsp + 0x42], al
jmp 0x1800467c9
mov eax, dword [0x1800a66cc]
cdqe
movabs rcx, 0x8a46590378e0a
add rax, rcx
mov word [rsp + 0x5c], ax
movsxd rax, dword [0x1800a6624]
mov rcx, qword [rsp + 0x68]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x1800467c9
mov eax, dword [0x1800a66c4]
movabs rcx, 0x5a763cf87df8
sub rax, rcx
mov word [rsp + 0x48], ax
movzx eax, byte [0x1800a65fe]
mov byte [rsp + 0x45], al
jmp 0x1800467fa
mov rax, qword [0x1800a66b8]
mov ecx, 0xa03578b4
imul rax, rcx
mov word [rsp + 0x54], ax
mov eax, 1
imul rax, rax, 0x1c
lea rcx, [0x1809c0620]
movzx edx, byte [0x1800a6698]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0xdc]
add eax, 0x6c5
mov dword [rsp + 0x3d8], eax
movzx eax, word [0x1800a669c]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xe0], eax
mov rax, qword [0x1800a6678]
mov eax, dword [rsp + 0xe0]
add eax, 0xe821
mov dword [rsp + 0x274], eax
mov eax, dword [rsp + 0x64]
mov rcx, qword [0x1800a66e0]
add rax, rcx
mov ecx, dword [rsp + 0x64]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0xe0]
add eax, 0x38b
mov dword [rsp + 0x3c8], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [0x1800a6688]
xor ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x43]
imul eax, ecx
not eax
movzx ecx, word [rsp + 0x54]
movsx ecx, cx
add eax, ecx
mov word [0x1800a660c], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x3ce
mov dword [rsp + 0x318], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x330], rax
cmp qword [rsp + 0x330], 0
je 0x1800468f7
mov dword [rsp + 0x314], 1
mov edx, dword [rsp + 0x314]
mov rcx, qword [rsp + 0x330]
call qword [sym.imp.USER32.dll_GetSystemMenu]
mov qword [rsp + 0x438], rax
movzx eax, byte [0x1800a658e]
test eax, eax
jge 0x18004690f
mov dword [rsp + 0x13c], 1
jmp 0x18004691a
mov dword [rsp + 0x13c], 0
movzx eax, byte [0x1800a658e]
cmp eax, 0x18
jge 0x180046933
mov dword [rsp + 0x138], 1
jmp 0x18004693e
mov dword [rsp + 0x138], 0
mov eax, dword [rsp + 0x138]
cmp dword [rsp + 0x13c], eax
jge 0x180046950
jmp 0x18004697f
xor eax, eax
cmp eax, 0xb3295ce7
je 0x18004697f
movzx eax, byte [0x1800a65e6]
movzx eax, al
movzx ecx, word [rsp + 0x54]
movsx ecx, cx
add eax, ecx
mov byte [0x1800a65e6], al
mov rax, qword [0x1800a66b8]
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x318]
mov ecx, dword [rsp + 0x274]
xor eax, ecx
add eax, 0xffff1953
mov ecx, dword [rsp + 0xac]
mov edx, dword [rsp + 0xac]
xor ecx, edx
mov edx, dword [rsp + 0x140]
xor edx, 0x124
imul ecx, edx
mov edx, dword [rsp + 0xac]
mov r8d, dword [rsp + 0x140]
add edx, r8d
mov r8d, dword [rsp + 0xac]
mov r9d, dword [rsp + 0x278]
sub r8d, r9d
imul edx, r8d
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x2b8], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xe4], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov ecx, dword [rsp + 0x58]
cmp eax, ecx
ja 0x180046a1d
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
jne 0x180046a1d
mov dword [rsp + 0x144], 0
jmp 0x180046a28
mov dword [rsp + 0x144], 1
mov eax, dword [rsp + 0x144]
not eax
test eax, eax
je 0x180046a37
jmp 0x180046a6c
xor eax, eax
cmp eax, 0xffff3698
je 0x180046a6c
movzx eax, byte [rsp + 0x44]
movzx eax, al
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0xe4]
add eax, 0x7a5d
mov dword [rsp + 0x280], eax
mov rax, qword [0x1800a66e0]
test rax, rax
jne 0x180046a98
mov dword [rsp + 0x148], 1
jmp 0x180046aa3
mov dword [rsp + 0x148], 0
mov eax, dword [0x1800a66c8]
cmp dword [rsp + 0x148], eax
jle 0x180046aee
mov rax, qword [0x1800a66d8]
mov byte [rsp + 0x45], al
movzx eax, byte [0x1800a6566]
movsx rax, al
mov rcx, qword [0x1800a66e0]
sub rax, rcx
movzx ecx, byte [0x1800a6566]
movsx rcx, cl
sub rcx, rax
mov rax, rcx
mov byte [0x1800a6566], al
jmp 0x180046b75
movzx eax, word [0x1800a660c]
test eax, eax
je 0x180046b15
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
jne 0x180046b15
mov rax, qword [rsp + 0x80]
sar rax, 8
mov dword [rsp + 0x60], eax
jmp 0x180046b75
movzx eax, word [rsp + 0x54]
cwde
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
jl 0x180046b31
mov dword [rsp + 0x14c], 1
jmp 0x180046b3c
mov dword [rsp + 0x14c], 0
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0x14c], eax
jae 0x180046b75
movzx eax, word [0x1800a668c]
mov ecx, dword [0x1800a66cc]
add ecx, eax
mov eax, ecx
mov dword [0x1800a66cc], eax
movzx eax, word [rsp + 0x4c]
movzx eax, ax
add eax, 0x21
cdqe
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0xe4]
add eax, 0x443
mov dword [rsp + 0x27c], eax
mov eax, dword [rsp + 0xe4]
add eax, 0xa6f2
mov dword [rsp + 0x170], eax
movzx eax, word [rsp + 0x4c]
movzx eax, ax
movzx ecx, byte [0x1800a658e]
cmp eax, ecx
jne 0x180046daf
cmp qword [rsp + 0x80], 0
jne 0x180046bd6
movzx eax, byte [rsp + 0x44]
movzx eax, al
test eax, eax
je 0x180046bd6
mov dword [rsp + 0x15c], 0
jmp 0x180046be1
mov dword [rsp + 0x15c], 1
mov rax, qword [0x1800a66e0]
test rax, rax
jne 0x180046bfa
mov dword [rsp + 0x150], 1
jmp 0x180046c05
mov dword [rsp + 0x150], 0
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0x150]
ja 0x180046c1f
mov dword [rsp + 0x158], 1
jmp 0x180046c2a
mov dword [rsp + 0x158], 0
movzx eax, byte [rsp + 0x45]
movsx eax, al
test eax, eax
jne 0x180046c4c
movsx eax, byte [rsp + 0x46]
test eax, eax
jne 0x180046c4c
mov dword [rsp + 0x154], 0
jmp 0x180046c57
mov dword [rsp + 0x154], 1
mov eax, dword [rsp + 0x154]
cmp dword [rsp + 0x60], eax
jae 0x180046c71
mov dword [rsp + 0x160], 1
jmp 0x180046c7c
mov dword [rsp + 0x160], 0
mov eax, dword [rsp + 0x158]
mov ecx, dword [rsp + 0x15c]
sub ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x160]
jge 0x180046d73
movsx rax, byte [rsp + 0x42]
mov rcx, qword [rsp + 0x80]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, word [0x1800a668c]
test eax, eax
jne 0x180046ccf
mov dword [rsp + 0x164], 1
jmp 0x180046cda
mov dword [rsp + 0x164], 0
mov rax, qword [0x1800a6668]
test rax, rax
jne 0x180046cf3
mov dword [rsp + 0x168], 1
jmp 0x180046cfe
mov dword [rsp + 0x168], 0
movsx rax, byte [rsp + 0x42]
mov rcx, qword [rsp + 0x70]
imul rax, rcx
test rax, rax
jne 0x180046d1f
mov dword [rsp + 0x16c], 1
jmp 0x180046d2a
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0x164]
imul eax, dword [rsp + 0x168]
sub eax, dword [rsp + 0x16c]
cdqe
movsx ecx, byte [rsp + 0x43]
sub ecx, dword [0x1800a66e8]
mov ecx, ecx
movzx edx, word [0x1800a669c]
mov r8, qword [0x1800a6668]
imul r8, rdx
mov rdx, r8
add rcx, rdx
add rax, rcx
mov qword [0x1800a6670], rax
jmp 0x180046daf
mov rax, qword [rsp + 0x90]
shl rax, 3
mov dword [0x1800a66ec], eax
movzx eax, byte [0x1800a65a6]
movzx eax, al
movabs rcx, 0xf1ac72663f661
mov rdx, qword [rsp + 0x90]
add rcx, rdx
add rax, rcx
mov qword [rsp + 0x90], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x27c]
mov ecx, dword [rsp + 0x280]
add eax, ecx
mov ecx, dword [rsp + 0x170]
mov edx, dword [rsp + 0x170]
or ecx, edx
or eax, ecx
mov ecx, 0x1029e
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2bc], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x8600
mov dword [rsp + 0x28c], eax
movsxd rax, dword [0x1800a6698]
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
mov dword [0x1800a66ec], eax
mov eax, dword [rsp + 0xe8]
add eax, 0xc1ea
mov dword [rsp + 0x288], eax
mov dword [0x1800a66ec], 0
mov eax, dword [0x1800a65bc]
cdqe
movabs rcx, 0xbe604341062eb
sub rax, rcx
mov byte [rsp + 0x46], al
mov eax, dword [0x1800a66ec]
mov dword [rsp + 0x284], eax
cmp dword [rsp + 0x284], 0
je 0x180046e70
jmp 0x180046e9b
movzx eax, word [rsp + 0x48]
cwde
sub eax, 0x73
mov word [0x1800a6690], ax
movzx eax, word [0x1800a660c]
movabs rcx, 0xb733ea10794f2
imul rax, rcx
mov dword [0x1800a66c4], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x74be
mov dword [rsp + 0x3e0], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
movsx ecx, byte [rsp + 0x42]
cmp eax, ecx
jle 0x180046f91
movzx eax, word [rsp + 0x5c]
test eax, eax
jne 0x180046ed9
mov dword [rsp + 0x178], 1
jmp 0x180046ee4
mov dword [rsp + 0x178], 0
cmp qword [rsp + 0x80], 0
je 0x180046f07
mov eax, dword [0x1800a663c]
test eax, eax
je 0x180046f07
mov qword [rsp + 0x340], 1
jmp 0x180046f13
mov qword [rsp + 0x340], 0
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x340], rax
jge 0x180046f32
mov dword [rsp + 0x174], 1
jmp 0x180046f3d
mov dword [rsp + 0x174], 0
mov eax, dword [rsp + 0x174]
cmp dword [rsp + 0x178], eax
jl 0x180046f70
mov rax, qword [rsp + 0x80]
add rax, 0x86
mov dword [0x1800a6698], eax
mov rax, qword [rsp + 0x70]
dec rax
mov qword [rsp + 0x70], rax
jmp 0x180046f91
movzx eax, word [rsp + 0x4c]
movzx eax, ax
mov rcx, qword [rsp + 0x68]
sub rax, rcx
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x68]
sub rax, 0x41
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x288]
mov ecx, dword [rsp + 0x28c]
or eax, ecx
mov ecx, 0xcc48
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c0], eax
mov eax, 1
imul rax, rax, 0x5ef1
lea rcx, [0x18099f360]
movsx rax, byte [rcx + rax]
mov qword [rsp + 0x68], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xec], eax
movsx eax, byte [0x1800a65fb]
mov eax, dword [rsp + 0xec]
add eax, 0x3fd
mov dword [rsp + 0x294], eax
mov eax, dword [rsp + 0xec]
add eax, 0x3c6
mov dword [rsp + 0x290], eax
mov eax, dword [rsp + 0xec]
add eax, 0x898d
mov dword [rsp + 0x3c4], eax
movsx rax, byte [rsp + 0x46]
cmp rax, qword [rsp + 0xb8]
jl 0x180047046
mov byte [rsp + 0x40], 0x90
movzx eax, byte [0x1800a65a6]
movzx eax, al
sub eax, 0x2b
cdqe
mov qword [0x1800a6668], rax
mov qword [0x1800a6670], 0
mov rax, qword [rsp + 0x68]
shl rax, 7
mov qword [rsp + 0x98], rax
movzx eax, byte [rsp + 0x44]
movzx eax, al
test eax, eax
je 0x180047083
movzx eax, byte [0x1800a65a3]
movsx rax, al
mov qword [rsp + 0x348], rax
jmp 0x180047092
mov rax, qword [0x1800a66a8]
mov qword [rsp + 0x348], rax
movzx eax, byte [rsp + 0x348]
mov byte [0x1800a65a7], al
mov rax, qword [0x1800a6670]
mov qword [rsp + 0x400], rax
cmp qword [rsp + 0x400], 0
je 0x1800470bc
jmp 0x1800470d3
mov eax, 0xf3aa2084
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x290]
mov ecx, dword [rsp + 0x294]
xor eax, ecx
mov ecx, 0x268
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c4], eax
movzx eax, word [0x1800a668c]
mov rcx, qword [0x1800a6680]
cmp rax, rcx
jae 0x180047113
mov dword [rsp + 0x17c], 1
jmp 0x18004711e
mov dword [rsp + 0x17c], 0
cmp dword [rsp + 0x17c], 0x437009f3
jge 0x18004714f
movzx eax, word [0x1800a660c]
add eax, dword [rsp + 0x64]
mov word [0x1800a660c], ax
mov rax, qword [rsp + 0x70]
add rax, 0x77
mov qword [0x1800a66a8], rax
jmp 0x18004715b
mov qword [rsp + 0x98], 8
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xf0], eax
mov qword [0x1800a6678], 3
mov eax, dword [rsp + 0x58]
sub eax, 0x1efd
mov eax, eax
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
movzx eax, byte [rsp + 0x40]
movzx eax, al
imul eax, eax, 0xe8
cdqe
mov qword [0x1800a6678], rax
mov rax, qword [0x1800a6678]
mov qword [rsp + 0x258], rax
cmp qword [rsp + 0x258], 0
je 0x1800471ed
cmp qword [rsp + 0x258], 1
je 0x180047217
cmp qword [rsp + 0x258], 2
je 0x18004729c
cmp qword [rsp + 0x258], 3
je 0x1800472de
jmp 0x180047316
mov eax, 2
imul rax, rax, 1
lea rcx, [0x1809e3c30]
movzx edx, word [rsp + 0x64]
mov word [rcx + rax], dx
imul eax, dword [rsp + 0x60], 0x16896d3c
mov dword [rsp + 0x7c], eax
jmp 0x180047316
movsx eax, byte [rsp + 0x42]
not eax
cdqe
mov rcx, qword [0x1800a66d0]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x18004723f
mov dword [rsp + 0x180], 1
jmp 0x18004724a
mov dword [rsp + 0x180], 0
movzx eax, byte [0x1800a6567]
mov ecx, dword [rsp + 0x180]
sub ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
movzx edx, byte [0x1800a65a7]
movzx r8d, byte [0x1800a6566]
movsx r8d, r8b
not r8d
imul edx, r8d
add ecx, edx
imul eax, ecx
mov dword [0x1800a663c], eax
mov rax, qword [0x1800a66d8]
inc rax
mov qword [0x1800a66d8], rax
jmp 0x180047316
movzx eax, byte [0x18091bdb0]
mov byte [0x1800a6567], al
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1800472c0
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x184], eax
jmp 0x1800472d1
movzx eax, word [0x1800a66c0]
movzx eax, ax
mov dword [rsp + 0x184], eax
mov eax, dword [rsp + 0x184]
mov dword [rsp + 0x58], eax
jmp 0x180047316
mov rax, qword [rsp + 0x90]
sub rax, 0x363a
mov rcx, qword [0x1800a66e0]
add rcx, rax
mov rax, rcx
mov qword [0x1800a66e0], rax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x7c]
add eax, ecx
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x44c1
mov dword [rsp + 0x3c0], eax
mov byte [rsp + 0x40], 3
mov eax, dword [0x1800a6698]
mov ecx, dword [0x1800a66c8]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x180047350
mov qword [rsp + 0x358], 1
jmp 0x18004735c
mov qword [rsp + 0x358], 0
mov eax, dword [0x1800a66e8]
mov rcx, qword [0x1800a6680]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x358]
imul rcx, rax
mov rax, rcx
mov qword [0x1800a6678], rax
movzx eax, word [rsp + 0x5c]
add eax, 0xf9
mov byte [rsp + 0x47], al
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0xb0], al
cmp byte [rsp + 0xb0], 0
je 0x1800473cd
cmp byte [rsp + 0xb0], 1
je 0x1800473f7
cmp byte [rsp + 0xb0], 2
je 0x180047404
cmp byte [rsp + 0xb0], 3
je 0x180047431
jmp 0x18004744d
mov eax, dword [rsp + 0x7c]
mov eax, eax
mov rcx, qword [0x1800a6670]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a6670], rax
mov rax, qword [0x1800a6680]
mov word [0x1800a6690], ax
jmp 0x18004744d
mov eax, dword [rsp + 0x64]
mov qword [0x1800a66a0], rax
jmp 0x18004744d
movabs rax, 0x7ca9dbf50e822
mov qword [rsp + 0x68], rax
movzx eax, word [0x1800a668c]
and eax, 0x47
cdqe
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x18004744d
movabs rax, 0x164095893a981
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x9a9a
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x4ad3
mov dword [rsp + 0x29c], eax
xor eax, eax
mov word [0x1800a668c], ax
imul eax, dword [0x1800a66e8], 0x21c68d37
mov word [rsp + 0x54], ax
mov eax, 4
imul rax, rax, 0x3e63
lea rcx, [0x180963b10]
movzx eax, word [rcx + rax]
mov word [rsp + 0x48], ax
movzx eax, word [0x1800a668c]
mov dword [rsp + 0x298], eax
cmp dword [rsp + 0x298], 0
je 0x1800474c1
jmp 0x1800474fc
mov rax, qword [0x1800a66a0]
test rax, rax
jne 0x1800474da
mov dword [rsp + 0x188], 1
jmp 0x1800474e5
mov dword [rsp + 0x188], 0
movsx eax, word [rsp + 0x88]
mov ecx, dword [rsp + 0x188]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0xf4]
mov ecx, dword [rsp + 0x29c]
sub eax, ecx
mov ecx, dword [rsp + 0xf4]
mov edx, dword [rsp + 0xf4]
or ecx, edx
xor eax, ecx
mov ecx, 0xd7be
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c8], eax
movsx rax, word [0x1800a6690]
mov rcx, qword [0x1800a6668]
cmp rax, rcx
jl 0x18004756d
movzx eax, word [rsp + 0x54]
cwde
test eax, eax
je 0x18004756d
mov eax, 0x322c
mov word [0x1800a6694], ax
movzx eax, word [rsp + 0x4c]
movzx eax, ax
shl eax, 6
cdqe
mov qword [rsp + 0x90], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xf8], eax
mov qword [rsp + 0x68], 4
mov rax, qword [0x1800a6668]
sub rax, 0xffa9
mov qword [0x1800a66a8], rax
mov rax, qword [0x1800a6668]
mov ecx, 0x7e35b70
sub rcx, rax
mov rax, rcx
not rax
mov word [0x1800a6690], ax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x250], rax
cmp qword [rsp + 0x250], 0
je 0x180047600
cmp qword [rsp + 0x250], 1
je 0x180047612
cmp qword [rsp + 0x250], 2
je 0x18004764d
cmp qword [rsp + 0x250], 3
je 0x180047661
cmp qword [rsp + 0x250], 4
je 0x18004768d
jmp 0x1800476c5
movzx eax, word [rsp + 0xb8]
mov word [rsp + 0x48], ax
jmp 0x1800476c5
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
jne 0x180047629
mov dword [rsp + 0x18c], 1
jmp 0x180047634
mov dword [rsp + 0x18c], 0
mov eax, dword [rsp + 0x18c]
sub eax, 0x39d8
mov dword [0x1800a663c], eax
mov byte [rsp + 0x44], 1
jmp 0x1800476c5
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
sub rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x1800476c5
mov eax, dword [rsp + 0x58]
mov eax, eax
movabs rcx, 0x7572428d3da2f
sub rax, rcx
mov word [0x1800a66c0], ax
mov eax, dword [0x1800a6624]
sub eax, 0x85
mov word [rsp + 0x4c], ax
jmp 0x1800476c5
movzx eax, word [0x1800a668c]
mov rcx, qword [0x1800a6668]
xor rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
movzx edx, byte [rsp + 0x47]
movsx edx, dl
imul ecx, edx
movsxd rcx, ecx
imul rax, rcx
not rax
mov word [0x1800a660c], ax
mov eax, dword [rsp + 0xf8]
add eax, 0x3c9
mov dword [rsp + 0x3bc], eax
movsx eax, byte [0x1800a65fb]
cmp eax, dword [0x1800a6688]
jb 0x1800476f4
mov dword [rsp + 0x194], 1
jmp 0x1800476ff
mov dword [rsp + 0x194], 0
movsx eax, byte [0x1800a65fb]
cmp eax, 0x44
jl 0x180047718
mov dword [rsp + 0x190], 1
jmp 0x180047723
mov dword [rsp + 0x190], 0
mov eax, dword [rsp + 0x190]
cmp dword [rsp + 0x194], eax
jg 0x1800477aa
movzx eax, word [0x1800a6694]
movzx eax, ax
cmp dword [0x1800a6688], eax
jne 0x180047752
mov dword [rsp + 0x19c], 1
jmp 0x18004775d
mov dword [rsp + 0x19c], 0
cmp dword [0x1800a6688], 0x5c
jne 0x180047773
mov dword [rsp + 0x198], 1
jmp 0x18004777e
mov dword [rsp + 0x198], 0
mov eax, dword [rsp + 0x198]
cmp dword [rsp + 0x19c], eax
jl 0x1800477a5
movzx eax, byte [0x1800a6567]
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
add eax, ecx
mov byte [0x1800a6567], al
jmp 0x18004783b
mov eax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x98]
imul rcx, rax
mov rax, rcx
mov rcx, qword [0x1800a6678]
sub rcx, qword [rsp + 0x80]
sub rax, rcx
test rax, rax
jne 0x1800477e2
mov qword [rsp + 0x360], 1
jmp 0x1800477ee
mov qword [rsp + 0x360], 0
mov eax, dword [rsp + 0x7c]
test eax, eax
jne 0x180047804
mov qword [rsp + 0x328], 1
jmp 0x180047810
mov qword [rsp + 0x328], 0
mov rax, qword [0x1800a6680]
sub rax, qword [rsp + 0x328]
mov rcx, qword [rsp + 0x70]
sub rax, rcx
mov rcx, qword [rsp + 0x360]
sub rcx, rax
mov rax, rcx
mov dword [0x1800a65bc], eax
mov eax, dword [rsp + 0xf8]
add eax, 0xf456
mov dword [rsp + 0x3ec], eax
mov rax, qword [rsp + 0x68]
sub rax, 0x81
mov dword [0x1800a66b0], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x3ce
mov dword [rsp + 0x3f8], eax
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x180047889
mov dword [rsp + 0x1a0], 1
jmp 0x180047894
mov dword [rsp + 0x1a0], 0
movzx eax, byte [0x1800a658e]
test eax, eax
jne 0x1800478ad
mov qword [rsp + 0x368], 1
jmp 0x1800478b9
mov qword [rsp + 0x368], 0
cmp dword [0x1800a66b0], 0
jne 0x1800478cf
mov dword [rsp + 0x1a4], 1
jmp 0x1800478da
mov dword [rsp + 0x1a4], 0
movzx eax, word [rsp + 0x5c]
mov ecx, dword [0x1800a66b0]
and ecx, eax
mov eax, ecx
imul ecx, dword [rsp + 0x1a0], 0x582b71c6
not ecx
sub eax, ecx
not eax
mov eax, eax
mov rcx, qword [rsp + 0xb8]
imul rcx, qword [rsp + 0x368]
movzx edx, byte [rsp + 0x40]
movzx edx, dl
mov r8d, dword [rsp + 0x1a4]
sub r8d, edx
mov edx, r8d
movsxd rdx, edx
sub rcx, rdx
sub rax, rcx
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x2a0]
xor eax, 0x101
mov ecx, dword [rsp + 0x1a8]
mov edx, dword [rsp + 0x1a8]
sub ecx, edx
imul eax, ecx
mov eax, eax
movabs rcx, 0x17fffffb13
sub rax, rcx
mov dword [rsp + 0x2dc], eax
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
je 0x18004797e
movzx eax, word [rsp + 0x5c]
mov qword [rsp + 0x370], rax
jmp 0x18004798d
mov rax, qword [0x1800a66a8]
mov qword [rsp + 0x370], rax
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x80], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xfc], eax
mov qword [0x1800a6670], 1
movsx eax, byte [rsp + 0x42]
movzx ecx, word [0x1800a6694]
movzx ecx, cx
add eax, ecx
movsx ecx, byte [rsp + 0x42]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0xfc]
add eax, 0x1009a
mov dword [rsp + 0x2a4], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x3fd
mov dword [rsp + 0x3b8], eax
mov eax, dword [0x1800a66cc]
test eax, eax
je 0x180047a05
jmp 0x180047a25
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x180047a25
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov ecx, dword [0x1800a66e8]
sub ecx, eax
mov eax, ecx
mov dword [0x1800a66e8], eax
mov eax, dword [rsp + 0xfc]
add eax, 0xa230
mov dword [rsp + 0x2a8], eax
movzx eax, word [rsp + 0x50]
cwde
movzx ecx, word [0x1800a65fc]
movzx ecx, cx
cmp eax, ecx
jg 0x180047b3d
mov eax, dword [rsp + 0x58]
movzx ecx, byte [0x1800a65a6]
movzx ecx, cl
cmp eax, ecx
ja 0x180047b3d
mov eax, 4
imul rax, rax, 1
lea rcx, [0x1809b3520]
movsxd rax, dword [rcx + rax]
mov qword [0x1800a66b8], rax
mov rax, qword [0x1800a6680]
not rax
movzx ecx, byte [rsp + 0x47]
movsx rcx, cl
sub rax, rcx
not rax
mov ecx, dword [0x1800a66cc]
not ecx
movsxd rcx, ecx
movabs rdx, 0xfff1e56cbd26b935
sub rdx, rcx
mov rcx, rdx
imul rax, rcx
test rax, rax
jne 0x180047acc
mov qword [rsp + 0x350], 1
jmp 0x180047ad8
mov qword [rsp + 0x350], 0
movzx eax, word [0x1800a66c0]
movzx eax, ax
movsx ecx, byte [rsp + 0x46]
sub eax, ecx
test eax, eax
jne 0x180047afb
mov qword [rsp + 0x378], 1
jmp 0x180047b07
mov qword [rsp + 0x378], 0
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov rcx, qword [0x1800a66d8]
imul rax, rcx
mov rcx, qword [rsp + 0x378]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x350]
add rcx, rax
mov rax, rcx
mov word [0x1800a6694], ax
mov rax, qword [rsp + 0x68]
and rax, 0xbd
mov dword [0x1800a6624], eax
mov eax, dword [rsp + 0x2a4]
mov ecx, dword [rsp + 0x2a8]
or eax, ecx
add eax, 0xfffe6394
mov dword [rsp + 0x2e0], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x100]
add eax, 0xffa
mov dword [rsp + 0x2b0], eax
mov eax, dword [rsp + 0x100]
add eax, 0xd279
mov dword [rsp + 0x3e4], eax
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
mov byte [0x1800a65e6], al
mov eax, dword [rsp + 0x100]
add eax, 0x4724
mov dword [rsp + 0x1bc], eax
movsx eax, byte [0x1800a658f]
mov ecx, dword [rsp + 0x60]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
mov eax, 1
mov word [rsp + 0x50], ax
mov dword [0x1800a6624], 0xd393b546
movsxd rax, dword [0x1800a6624]
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
movabs rdx, 0xd5c90d393b546
add rcx, rdx
cmp rax, rcx
jne 0x180047db8
mov eax, dword [0x1800a65bc]
movsx ecx, byte [rsp + 0x42]
add ecx, 0xdeb8439e
cmp eax, ecx
jne 0x180047db8
mov rax, qword [rsp + 0x98]
movzx ecx, byte [0x1800a65a3]
movsx rcx, cl
cmp rax, rcx
jl 0x180047c46
mov dword [rsp + 0x1b0], 1
jmp 0x180047c51
mov dword [rsp + 0x1b0], 0
mov rax, qword [rsp + 0x98]
cmp rax, 0x2c
jl 0x180047c6c
mov dword [rsp + 0x1ac], 1
jmp 0x180047c77
mov dword [rsp + 0x1ac], 0
mov eax, dword [rsp + 0x1ac]
cmp dword [rsp + 0x1b0], eax
jle 0x180047cd4
movzx eax, byte [0x1800a65a7]
mov ecx, dword [0x1800a66c8]
not ecx
sub eax, ecx
movzx ecx, word [rsp + 0x54]
movsx ecx, cx
mov edx, dword [rsp + 0x7c]
xor edx, ecx
mov ecx, edx
sub eax, ecx
mov eax, eax
imul rax, rax, 0x1601
mov qword [rsp + 0x68], rax
movzx eax, word [0x1800a660c]
movzx ecx, word [0x1800a660c]
add eax, ecx
mov word [0x1800a660c], ax
jmp 0x180047d9c
movzx eax, byte [rsp + 0x45]
movsx eax, al
test eax, eax
je 0x180047d9c
movzx eax, word [0x1800a669c]
test eax, eax
je 0x180047d9c
movzx eax, word [0x1800a669c]
xor eax, 5
mov dword [rsp + 0x60], eax
movzx eax, byte [0x1800a65e7]
movsx eax, al
test eax, eax
jne 0x180047d1d
mov qword [rsp + 0x380], 1
jmp 0x180047d29
mov qword [rsp + 0x380], 0
mov rax, qword [rsp + 0x70]
and rax, qword [rsp + 0x380]
test rax, rax
jne 0x180047d49
mov qword [rsp + 0x388], 1
jmp 0x180047d55
mov qword [rsp + 0x388], 0
movzx eax, byte [rsp + 0x45]
movsx rax, al
sub rax, qword [0x1800a6670]
add rax, qword [rsp + 0x388]
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
xor ecx, dword [rsp + 0x64]
mov ecx, ecx
movzx edx, byte [rsp + 0x44]
movzx edx, dl
movabs r8, 0x71cba5476d164
sub rdx, r8
sub rcx, rdx
sub rax, rcx
mov dword [0x1800a66e8], eax
jmp 0x180047db8
mov dword [0x1800a6624], 0xd393b546
movzx eax, byte [0x1800a65e6]
movzx eax, al
test eax, eax
je 0x180047de1
movzx eax, byte [0x1800a658e]
mov qword [rsp + 0x390], rax
jmp 0x180047df0
mov rax, qword [0x1800a6670]
mov qword [rsp + 0x390], rax
movzx eax, word [rsp + 0x390]
mov word [0x1800a660c], ax
movzx eax, byte [0x1800a658e]
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
sub eax, ecx
mov byte [0x1800a658e], al
mov eax, dword [0x1800a6624]
cmp dword [0x1800a66c8], eax
jg 0x180047e31
mov dword [rsp + 0x1b8], 1
jmp 0x180047e3c
mov dword [rsp + 0x1b8], 0
cmp dword [0x1800a66c8], 2
jg 0x180047e52
mov dword [rsp + 0x1b4], 1
jmp 0x180047e5d
mov dword [rsp + 0x1b4], 0
mov eax, dword [rsp + 0x1b4]
cmp dword [rsp + 0x1b8], eax
jl 0x180047eea
xor eax, eax
mov word [rsp + 0x48], ax
movzx eax, word [0x1800a6694]
movzx eax, ax
mov rcx, qword [rsp + 0x70]
sub rax, rcx
mov word [0x1800a6694], ax
movzx eax, byte [rsp + 0x44]
movzx eax, al
shl eax, 7
mov dword [rsp + 0x60], eax
movzx eax, word [rsp + 0x48]
cwde
mov dword [rsp + 0x2ac], eax
cmp dword [rsp + 0x2ac], 0
je 0x180047eb5
jmp 0x180047ee8
movzx eax, word [rsp + 0x4c]
movzx eax, ax
movzx ecx, word [0x1800a66c0]
movzx ecx, cx
sub eax, ecx
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x4c], ax
mov eax, dword [0x18091bdb0]
mov qword [rsp + 0xb8], rax
jmp 0x180047f2d
movzx eax, word [0x1800a668c]
test eax, eax
je 0x180047f2d
movzx eax, byte [0x1800a6566]
movsx eax, al
add eax, 0xda494d7f
mov eax, eax
mov rcx, qword [0x1800a6670]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6670], rax
mov eax, dword [0x1800a66cc]
imul eax, eax, 0x36ba82b5
mov word [0x1800a668c], ax
mov eax, dword [rsp + 0x1bc]
mov ecx, dword [rsp + 0x1bc]
sub eax, ecx
mov ecx, dword [rsp + 0x2b0]
add ecx, 0x8518
imul eax, ecx
mov ecx, 0x376
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x104]
mov edx, dword [rsp + 0x104]
xor ecx, edx
mov edx, dword [rsp + 0x2b4]
mov r8d, dword [rsp + 0x104]
xor edx, r8d
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x2e8], eax
mov eax, 8
imul rax, rax, 8
lea rcx, [0x18099ec00]
movzx edx, byte [rsp + 0x40]
movzx edx, dl
add rdx, qword [rcx + rax]
mov rax, rdx
mov byte [rsp + 0x40], al
movzx eax, word [rsp + 0x54]
cwde
or eax, 0x88e5c891
mov word [0x1800a66c0], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0x108]
add eax, 0x430
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x108]
add eax, 0x635
mov dword [rsp + 0x2f4], eax
mov rax, qword [0x1800a66d8]
test rax, rax
je 0x180047ffa
jmp 0x180048041
movzx eax, byte [0x1800a658e]
cmp dword [0x1800a66c8], eax
jle 0x180048017
movzx eax, byte [rsp + 0x40]
movzx eax, al
cmp eax, dword [rsp + 0x60]
jb 0x180048041
movzx eax, byte [rsp + 0x41]
dec al
mov byte [rsp + 0x41], al
movzx eax, word [0x1800a66c0]
movzx eax, ax
movabs rcx, 0x2809878272238
sub rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x108]
add eax, 0x681
mov dword [rsp + 0x2f8], eax
movzx eax, byte [0x1800a658e]
movzx ecx, word [0x1800a669c]
cmp eax, ecx
jl 0x18004809f
movsx eax, byte [0x1800a658f]
test eax, eax
jne 0x180048087
xor eax, eax
cmp eax, 0xce6a
jne 0x180048087
mov dword [rsp + 0x1c0], 0
jmp 0x180048092
mov dword [rsp + 0x1c0], 1
mov eax, dword [rsp + 0x1c0]
not eax
test eax, eax
je 0x1800480a1
jmp 0x18004810d
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1800480c2
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1800480c2
mov dword [rsp + 0x1c4], 1
jmp 0x1800480cd
mov dword [rsp + 0x1c4], 0
mov eax, dword [rsp + 0x1c4]
not eax
test eax, eax
je 0x18004810d
mov rax, qword [0x1800a66a0]
test rax, rax
jne 0x1800480ed
mov byte [rsp + 0x78], 1
jmp 0x1800480f2
mov byte [rsp + 0x78], 0
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x41], al
mov rax, qword [0x1800a66a0]
sar rax, 3
mov qword [0x1800a6670], rax
mov dword [rsp + 0xa8], 0
movzx eax, byte [rsp + 0x44]
movzx eax, al
mov qword [rsp + 0xc8], 0
movzx eax, byte [0x1800a6566]
movsx eax, al
imul eax, eax, 0x2c
movzx ecx, byte [0x1800a65a3]
movsx ecx, cl
imul eax, ecx
mov byte [rsp + 0x47], al
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x260], 0
mov dword [rsp + 0xb4], 0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
imul rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, byte [rsp + 0x43]
dec al
mov byte [rsp + 0x43], al
mov qword [rsp + 0x418], 0xb7
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x180048271
mov eax, dword [0x1800a66cc]
cdqe
movabs rcx, 0x42b70a42de6c7
cmp rax, rcx
je 0x1800481c9
mov dword [rsp + 0x1c8], 1
jmp 0x1800481d4
mov dword [rsp + 0x1c8], 0
movzx eax, byte [rsp + 0x44]
movzx eax, al
cmp eax, dword [rsp + 0x1c8]
jl 0x1800481f2
mov dword [rsp + 0x1d0], 1
jmp 0x1800481fd
mov dword [rsp + 0x1d0], 0
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x18004821e
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x18004821e
mov dword [rsp + 0x1cc], 0
jmp 0x180048229
mov dword [rsp + 0x1cc], 1
mov eax, dword [rsp + 0x1cc]
mov ecx, dword [rsp + 0x1d0]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x180048262
movzx eax, byte [0x1800a65a3]
movsx eax, al
add eax, 0x7f5d
cdqe
mov rcx, qword [rsp + 0x68]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x180048271
movzx eax, word [rsp + 0x48]
cwde
add eax, 0x56
mov byte [0x1800a65a6], al
mov eax, 0x80000000
mov qword [rsp + 0x408], rax
mov eax, 2
mov word [rsp + 0x50], ax
movzx eax, byte [0x1800a6567]
add rax, qword [rsp + 0x90]
movzx ecx, byte [0x1800a6567]
sub rcx, rax
mov rax, rcx
mov byte [0x1800a6567], al
movzx eax, word [rsp + 0x50]
cwde
mov dword [rsp + 0x10c], eax
cmp dword [rsp + 0x10c], 0
je 0x1800482de
cmp dword [rsp + 0x10c], 1
je 0x180048340
cmp dword [rsp + 0x10c], 2
je 0x18004836a
jmp 0x180048398
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov rcx, qword [rsp + 0x98]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x180048307
mov dword [rsp + 0x1d4], 1
jmp 0x180048312
mov dword [rsp + 0x1d4], 0
mov eax, 0x20
sub eax, dword [0x1800a6624]
not eax
mov ecx, dword [rsp + 0x1d4]
sub ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [0x1800a6670]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x180048398
movzx eax, byte [0x1800a6566]
movsx eax, al
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
and eax, ecx
movzx ecx, byte [0x1800a6566]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [0x1800a6566], al
jmp 0x180048398
movsx rax, byte [rsp + 0x46]
movabs rcx, 0x92511bb4416ba
add rax, rcx
mov byte [rsp + 0x45], al
movzx eax, word [rsp + 0x50]
cwde
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
add eax, ecx
cdqe
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x2d8], 1
movzx eax, word [rsp + 0x54]
movsx rax, ax
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov eax, eax
mov qword [0x1800a66a0], rax
mov rax, qword [0x1800a66a0]
test rax, rax
je 0x1800483d7
mov dword [rsp + 0x1dc], 1
jmp 0x1800483e2
mov dword [rsp + 0x1dc], 0
mov rax, qword [0x1800a66a0]
cmp rax, 0x13
je 0x1800483fc
mov dword [rsp + 0x1d8], 1
jmp 0x180048407
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
mov dword [rsp + 0x2d4], 3
movzx eax, byte [rsp + 0x45]
movsx eax, al
test eax, eax
je 0x180048504
cmp dword [rsp + 0x60], 0
je 0x180048454
movzx eax, byte [rsp + 0x41]
movzx eax, al
movsx ecx, byte [rsp + 0x43]
sub eax, ecx
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x41], al
jmp 0x180048502
movsx rax, byte [rsp + 0x42]
movabs rcx, 0xfffa42b031d228b9
cmp rax, rcx
jl 0x180048476
mov dword [rsp + 0x1e4], 1
jmp 0x180048481
mov dword [rsp + 0x1e4], 0
movzx eax, word [rsp + 0x50]
cwde
not eax
cdqe
cmp qword [rsp + 0x90], rax
jle 0x1800484a2
mov dword [rsp + 0x1e0], 1
jmp 0x1800484ad
mov dword [rsp + 0x1e0], 0
mov eax, dword [rsp + 0x1e0]
cmp dword [rsp + 0x1e4], eax
jge 0x1800484ca
mov dword [rsp + 0x1e8], 1
jmp 0x1800484d5
mov dword [rsp + 0x1e8], 0
mov eax, dword [rsp + 0x1e8]
not eax
test eax, eax
je 0x180048502
movzx eax, byte [0x1800a65e7]
movsx eax, al
sub eax, 0xb66
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
jmp 0x180048527
mov rax, qword [0x1800a66a8]
imul rax, qword [0x1800a6670]
mov rcx, qword [0x1800a66a8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a66a8], rax
mov qword [rsp + 0x410], 0xffffffffffffffff
movsx eax, byte [rsp + 0x42]
test eax, eax
je 0x180048556
mov eax, dword [0x1800a6688]
not eax
mov eax, eax
mov rcx, qword [rsp + 0xb8]
not rcx
cmp rax, rcx
jl 0x180048569
mov rcx, qword [0x1800a66b8]
call qword [sym.imp.USER32.dll_GetLastActivePopup]
mov byte [rsp + 0x43], al
jmp 0x1800485ab
movzx eax, word [0x1800a66c0]
movzx eax, ax
mov rcx, qword [0x1800a6680]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800a6680]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6680], rax
movzx eax, byte [rsp + 0x41]
movzx eax, al
imul rax, qword [rsp + 0x80]
mov byte [0x1800a658e], al
mov dword [rsp + 0x2f0], 2
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
je 0x1800485c9
jmp 0x1800485e3
movzx eax, word [rsp + 0x54]
cwde
test eax, eax
je 0x1800485e3
mov eax, dword [0x1800a66c4]
add eax, 0xec56
mov word [rsp + 0x50], ax
mov dword [rsp + 0x2ec], 0x1000000
mov dword [0x1800a66e8], 4
mov eax, dword [0x1800a66e8]
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0
je 0x180048648
cmp dword [rsp + 0xa0], 1
je 0x18004866d
cmp dword [rsp + 0xa0], 2
je 0x1800486b9
cmp dword [rsp + 0xa0], 3
je 0x1800486d5
cmp dword [rsp + 0xa0], 4
je 0x180048717
jmp 0x180048754
movsx rax, byte [rsp + 0x43]
movabs rcx, 0xbf15caa607494
add rax, rcx
mov byte [0x1800a6567], al
mov byte [0x1800a65e7], 0xc6
jmp 0x180048754
movzx eax, word [0x1800a65fc]
movzx eax, ax
mov ecx, dword [0x1800a66ec]
imul ecx, eax
mov eax, ecx
not eax
mov ecx, dword [0x1800a663c]
not ecx
movzx edx, word [0x1800a6694]
movzx edx, dx
add ecx, edx
sub eax, ecx
cdqe
mov qword [0x1800a66e0], rax
movzx eax, word [rsp + 0x5c]
xor ecx, ecx
sub ecx, eax
mov eax, ecx
mov byte [0x1800a6566], al
jmp 0x180048754
mov eax, 4
imul rax, rax, 0x3d
lea rcx, [0x1809bff30]
movzx eax, byte [rcx + rax]
mov byte [0x1800a6567], al
jmp 0x180048754
movsx eax, byte [rsp + 0x42]
add eax, 0x6d6fe239
cdqe
mov rcx, qword [rsp + 0x80]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, byte [rsp + 0x44]
movzx eax, al
add eax, dword [0x1800a6624]
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x44], al
jmp 0x180048754
mov rax, qword [rsp + 0x70]
movabs rcx, 0xf40bdf2ac7508
sub rax, rcx
mov qword [0x1800a66d8], rax
mov eax, dword [rsp + 0x58]
add eax, 0xda15
test eax, eax
jne 0x180048744
mov byte [rsp + 0x79], 1
jmp 0x180048749
mov byte [rsp + 0x79], 0
movzx eax, byte [rsp + 0x79]
mov byte [0x1800a65fe], al
mov dword [rsp + 0x2fc], 4
lea rax, [rsp + 0x450]
mov rdi, rax
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
mov qword [rsp + 0x90], 3
movsx eax, byte [rsp + 0x42]
sar eax, 4
mov word [0x1800a668c], ax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x268], rax
cmp qword [rsp + 0x268], 0
je 0x1800487d7
cmp qword [rsp + 0x268], 1
je 0x180048825
cmp qword [rsp + 0x268], 2
je 0x18004889f
cmp qword [rsp + 0x268], 3
je 0x1800488ac
jmp 0x1800488bd
mov rax, qword [0x1800a6680]
test rax, rax
jne 0x1800487f0
mov dword [rsp + 0x1ec], 1
jmp 0x1800487fb
mov dword [rsp + 0x1ec], 0
mov eax, dword [rsp + 0x1ec]
mov dword [0x1800a66c8], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov ecx, dword [0x1800a66ec]
sub ecx, eax
mov eax, ecx
mov dword [0x1800a66ec], eax
jmp 0x1800488bd
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov rcx, qword [rsp + 0x68]
not rcx
mov rdx, qword [0x1800a66e0]
imul rcx, rdx
mov edx, dword [rsp + 0x64]
not edx
or edx, 0xb806
mov edx, edx
xor rcx, rdx
sub rax, rcx
test rax, rax
jne 0x180048868
mov qword [rsp + 0x398], 1
jmp 0x180048874
mov qword [rsp + 0x398], 0
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x70], rax
movzx eax, word [0x1800a66b4]
cwde
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
lea eax, [rcx + rax + 0x62cf]
mov word [rsp + 0x48], ax
jmp 0x1800488bd
mov eax, dword [0x18091bdb0]
mov qword [rsp + 0x68], rax
jmp 0x1800488bd
movsx eax, byte [rsp + 0x43]
imul eax, eax, 0x99bad0bc
mov dword [0x1800a663c], eax
mov r9d, 0x104
lea r8, [rsp + 0x450]
mov rdx, qword [rsp + 0x578]
mov rcx, qword [rsp + 0x570]
call fcn.1800424d0
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 3
jne 0x180048bdb
mov dword [rsp + 0x64], 4
mov byte [rsp + 0x40], 0xeb
mov rax, qword [0x1800a66e0]
mov ecx, 2
imul rcx, rcx, 0xb176
lea rdx, [0x180a50140]
mov word [rdx + rcx], ax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xa4], 0
je 0x180048962
cmp dword [rsp + 0xa4], 1
je 0x180048983
cmp dword [rsp + 0xa4], 2
je 0x18004899b
cmp dword [rsp + 0xa4], 3
je 0x1800489aa
cmp dword [rsp + 0xa4], 4
je 0x1800489c5
jmp 0x1800489e6
movzx eax, word [rsp + 0x54]
cwde
movzx ecx, byte [rsp + 0x44]
movzx ecx, cl
and eax, ecx
not eax
movsx ecx, byte [rsp + 0x43]
sub eax, ecx
mov dword [0x1800a66c8], eax
jmp 0x1800489e6
movzx eax, word [0x1800a66c0]
movzx eax, ax
sub eax, 0xba
mov word [0x1800a660c], ax
jmp 0x1800489e6
movsx eax, byte [rsp + 0x43]
shl eax, 8
mov word [rsp + 0x4c], ax
jmp 0x1800489e6
movsx rax, word [0x1800a6690]
movabs rcx, 0xe006d2c4ab584
add rax, rcx
mov dword [rsp + 0x7c], eax
jmp 0x1800489e6
movsx eax, byte [0x1800a65fb]
movzx ecx, word [0x1800a668c]
sub eax, ecx
movsx ecx, byte [0x1800a65fb]
add ecx, eax
mov eax, ecx
mov byte [0x1800a65fb], al
mov eax, dword [rsp + 0x64]
mov rcx, qword [0x1800a6680]
cmp rax, rcx
jbe 0x1800489f8
jmp 0x180048a11
mov rax, qword [0x1800a66d0]
test rax, rax
je 0x180048a11
movzx eax, word [rsp + 0x4c]
inc ax
mov word [rsp + 0x4c], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x2b8]
mov ecx, dword [rsp + 0x110]
add eax, ecx
mov dword [rsp + 0x3e8], eax
mov eax, dword [rsp + 0x2bc]
mov ecx, dword [rsp + 0x110]
add eax, ecx
mov dword [rsp + 0x3f0], eax
mov eax, dword [0x1800a65bc]
cdqe
mov rcx, qword [0x1800a66e0]
add rax, rcx
test rax, rax
je 0x180048ab1
movzx eax, byte [rsp + 0x40]
movzx eax, al
test eax, eax
jne 0x180048ab1
movzx eax, byte [rsp + 0x47]
movsx eax, al
add eax, 0xc9d7
cdqe
mov qword [rsp + 0x90], rax
movsxd rax, dword [0x1800a66c8]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x2c0]
mov ecx, dword [rsp + 0x110]
add eax, ecx
mov dword [rsp + 0x2cc], eax
mov byte [0x1800a6566], 0xf8
movzx eax, word [0x1800a65fc]
movzx eax, ax
movzx ecx, word [rsp + 0x5c]
add ecx, 0xe7dc
cmp eax, ecx
jne 0x180048b2d
movsx rax, byte [0x1800a65fb]
mov rcx, qword [rsp + 0x98]
add rax, rcx
cmp rax, 1
jne 0x180048b2d
jmp 0x180048ac8
mov eax, dword [rsp + 0x2c4]
mov ecx, dword [rsp + 0x2c8]
mov edx, dword [rsp + 0x2cc]
xor ecx, edx
cmp eax, ecx
je 0x180048bdb
mov dword [rsp + 0x60], 0
movzx eax, byte [0x1800a65fe]
movsx eax, al
mov ecx, dword [0x1800a6698]
add ecx, eax
mov eax, ecx
mov dword [0x1800a6698], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x2d0], eax
cmp dword [rsp + 0x2d0], 0
je 0x180048b85
jmp 0x180048bbf
mov eax, 0xe7984c6a
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
movsx rcx, byte [rsp + 0x43]
and rcx, rax
mov rax, rcx
mov byte [rsp + 0x43], al
movsx eax, word [rsp + 0x88]
xor eax, 0x71
mov ecx, dword [rsp + 0x58]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
movzx eax, byte [0x1800a6567]
sar eax, 4
mov dword [0x1800a66b0], eax
mov eax, dword [rsp + 0xa8]
jmp 0x1800499b2
movsx eax, byte [rsp + 0x46]
test eax, eax
jne 0x180048bf1
mov dword [rsp + 0x1f0], 1
jmp 0x180048bfc
mov dword [rsp + 0x1f0], 0
mov eax, dword [0x1800a66c4]
cmp dword [rsp + 0x1f0], eax
je 0x180048c18
mov dword [rsp + 0x1f4], 1
jmp 0x180048c23
mov dword [rsp + 0x1f4], 0
movsx eax, word [0x1800a6690]
cmp eax, dword [rsp + 0x1f4]
jle 0x180048d42
movzx eax, byte [rsp + 0x40]
movzx eax, al
test eax, eax
jne 0x180048c51
mov qword [rsp + 0x3a0], 1
jmp 0x180048c5d
mov qword [rsp + 0x3a0], 0
mov rax, qword [0x1800a6678]
cmp qword [rsp + 0x3a0], rax
jl 0x180048c7b
mov dword [rsp + 0x1fc], 1
jmp 0x180048c86
mov dword [rsp + 0x1fc], 0
cmp dword [0x1800a66c8], 0
je 0x180048ca6
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x180048ca6
mov dword [rsp + 0x1f8], 1
jmp 0x180048cb1
mov dword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x1f8]
cmp dword [rsp + 0x1fc], eax
jne 0x180048ce9
mov eax, 4
imul rax, rax, 0x3463
lea rcx, [0x180a6f2d0]
mov eax, dword [rcx + rax]
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x180048d42
movsxd rax, dword [0x1800a66c8]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, byte [rsp + 0x45]
movsx rax, al
mov rcx, qword [rsp + 0x80]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0xb4]
mov ecx, dword [rsp + 0xb4]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x2d4]
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, dword [rsp + 0x2d8]
mov edx, dword [rsp + 0x408]
lea rcx, [rsp + 0x450]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0xc8], rax
mov eax, 0x8193
mov word [0x1800a660c], ax
movzx eax, word [0x1800a660c]
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
add ecx, 0x8193
cmp eax, ecx
jne 0x180048df4
movzx eax, byte [rsp + 0x41]
movzx eax, al
add eax, 0x589d1b58
cdqe
cmp qword [0x1800a66a8], rax
jne 0x180048df4
jmp 0x180048df4
mov eax, 0x8193
mov word [0x1800a660c], ax
mov rax, qword [rsp + 0x98]
sub rax, 0x64abb040
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x410]
cmp qword [rsp + 0xc8], rax
jne 0x18004915a
mov rax, qword [0x1800a6680]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x54]
cwde
test eax, eax
je 0x180048f67
mov rax, qword [0x1800a66d8]
cmp qword [rsp + 0x90], rax
jne 0x180048e69
mov dword [rsp + 0x204], 1
jmp 0x180048e74
mov dword [rsp + 0x204], 0
cmp qword [rsp + 0x90], 0xf
jne 0x180048e8c
mov dword [rsp + 0x200], 1
jmp 0x180048e97
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x200]
cmp dword [rsp + 0x204], eax
je 0x180048ec1
movzx eax, byte [rsp + 0x47]
dec al
mov byte [rsp + 0x47], al
mov dword [0x1800a6624], 0x12
jmp 0x180048f65
mov rax, qword [0x1800a6680]
movzx ecx, word [0x1800a668c]
cmp rax, rcx
je 0x180048ee1
mov dword [rsp + 0x20c], 1
jmp 0x180048eec
mov dword [rsp + 0x20c], 0
movsx eax, word [0x1800a6690]
cmp eax, dword [0x1800a66ec]
jne 0x180048f08
mov dword [rsp + 0x208], 1
jmp 0x180048f13
mov dword [rsp + 0x208], 0
mov eax, dword [rsp + 0x208]
cmp dword [rsp + 0x20c], eax
je 0x180048f65
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x180048f38
mov dword [rsp + 0x210], 1
jmp 0x180048f43
mov dword [rsp + 0x210], 0
mov eax, dword [rsp + 0x210]
mov ecx, dword [0x1800a66b0]
sub ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [0x1800a66e0]
sub rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x180048fa6
mov rax, qword [0x1800a66d0]
not rax
test rax, rax
je 0x180048fa6
mov eax, dword [0x1800a66c4]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
add rax, rcx
mov byte [rsp + 0x45], al
mov rax, qword [rsp + 0x98]
mov word [rsp + 0x88], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x114]
add eax, 0x6d5
mov dword [rsp + 0x224], eax
movzx eax, byte [0x1800a6567]
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
cmp eax, ecx
jne 0x180048fe6
mov dword [rsp + 0x218], 1
jmp 0x180048ff1
mov dword [rsp + 0x218], 0
movzx eax, byte [0x1800a6567]
cmp eax, 0x10
jne 0x18004900a
mov dword [rsp + 0x214], 1
jmp 0x180049015
mov dword [rsp + 0x214], 0
mov eax, dword [rsp + 0x214]
mov eax, dword [rsp + 0x2dc]
mov ecx, dword [rsp + 0x114]
add eax, ecx
mov dword [rsp + 0x3f4], eax
lea rcx, [0x180087004]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov byte [0x1800a65a7], al
movzx eax, byte [0x1800a65a7]
test eax, eax
jge 0x18004905e
mov dword [rsp + 0x220], 1
jmp 0x180049069
mov dword [rsp + 0x220], 0
movzx eax, byte [0x1800a65a7]
cmp eax, 0x55
jge 0x180049082
mov dword [rsp + 0x21c], 1
jmp 0x18004908d
mov dword [rsp + 0x21c], 0
mov eax, dword [rsp + 0x21c]
mov eax, dword [rsp + 0x2e0]
mov ecx, dword [rsp + 0x114]
add eax, ecx
mov dword [rsp + 0x2e4], eax
mov eax, dword [rsp + 0x224]
mov ecx, dword [rsp + 0x2e4]
or eax, ecx
mov ecx, dword [rsp + 0x2e8]
mov edx, dword [rsp + 0x224]
add ecx, edx
cmp eax, ecx
je 0x18004915a
movzx eax, word [0x1800a65fc]
movzx eax, ax
mov rcx, qword [rsp + 0x98]
imul rax, rcx
movzx ecx, word [0x1800a65fc]
movzx ecx, cx
or rcx, rax
mov rax, rcx
mov word [0x1800a65fc], ax
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x180049117
mov dword [rsp + 0x228], 1
jmp 0x180049122
mov dword [rsp + 0x228], 0
movzx eax, byte [rsp + 0x41]
movzx eax, al
imul eax, dword [rsp + 0x228]
mov ecx, dword [0x1800a66c8]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800a66cc]
imul ecx, eax
mov eax, ecx
cdqe
mov qword [0x1800a66b8], rax
mov eax, 5
jmp 0x1800499b2
mov eax, dword [rsp + 0xb4]
mov ecx, dword [rsp + 0x2ec]
mov edx, dword [rsp + 0x2f0]
or edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0xb4]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, ecx
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rsp + 0x118], rax
cmp qword [rsp + 0x118], 0
jne 0x1800493ac
mov eax, dword [0x1800a663c]
test eax, eax
je 0x1800491da
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov eax, eax
mov qword [0x1800a66d0], rax
jmp 0x1800492b6
movzx eax, word [0x1800a66b4]
cwde
not eax
test eax, eax
je 0x18004923c
mov eax, dword [0x1800a6688]
not eax
imul eax, eax, 0xd243efde
test eax, eax
jne 0x180049207
mov dword [rsp + 0x22c], 1
jmp 0x180049212
mov dword [rsp + 0x22c], 0
movzx eax, byte [0x1800a6567]
mov ecx, dword [rsp + 0x22c]
sub ecx, eax
mov eax, ecx
mov dword [0x1800a66c8], eax
movzx eax, byte [0x1800a6567]
add eax, 0xf4cf101d
mov byte [rsp + 0x45], al
jmp 0x1800492b6
xor eax, eax
cmp eax, 1
je 0x180049262
mov eax, dword [0x1800a6624]
sar eax, 8
mov byte [0x1800a65fe], al
mov eax, dword [0x18091bdb0]
mov qword [rsp + 0x90], rax
jmp 0x1800492b6
movzx eax, byte [0x1800a65a3]
movsx eax, al
test eax, eax
jne 0x18004927d
mov dword [rsp + 0x230], 1
jmp 0x180049288
mov dword [rsp + 0x230], 0
cmp dword [rsp + 0x230], 0xa776c519
jae 0x1800492b6
movsxd rax, dword [0x1800a66ec]
add rax, qword [0x1800a66a8]
movsxd rcx, dword [0x1800a66ec]
add rcx, rax
mov rax, rcx
mov dword [0x1800a66ec], eax
mov dword [0x1800a66e8], 0xc9
movzx eax, byte [rsp + 0x41]
movzx eax, al
inc eax
cmp dword [0x1800a66e8], eax
jne 0x18004933a
mov byte [0x1800a65e7], 0xac
cmp dword [0x1800a66b0], 1
jne 0x18004933a
jmp 0x18004933a
mov dword [0x1800a66e8], 0xc9
movzx eax, byte [0x1800a6566]
movsx eax, al
test eax, eax
je 0x180049364
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x3a8], rax
jmp 0x180049372
mov eax, dword [0x1800a66e8]
mov qword [rsp + 0x3a8], rax
movzx eax, byte [rsp + 0x3a8]
mov byte [0x1800a65a7], al
mov rax, qword [0x1800a6678]
add rax, 0x6e
mov byte [rsp + 0x45], al
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 6
jmp 0x1800499b2
mov eax, dword [rsp + 0x2f4]
mov ecx, dword [rsp + 0xc0]
sub eax, ecx
sub eax, 0x694
mov ecx, dword [rsp + 0x2f8]
mov edx, dword [rsp + 0xc0]
sub ecx, edx
mov edx, dword [rsp + 0xc0]
add edx, ecx
mov ecx, edx
cmp eax, ecx
je 0x180049507
movzx eax, byte [rsp + 0x47]
movsx eax, al
add eax, 0xc800
mov word [0x1800a668c], ax
mov dword [0x1800a6624], 0x589d1b58
mov rax, qword [0x1800a6680]
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
mov edx, dword [0x1800a6624]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
cmp rax, rcx
jne 0x180049477
mov eax, dword [rsp + 0x58]
imul eax, eax, 0x2ba0
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
movzx eax, word [0x1800a66c0]
movzx eax, ax
movzx ecx, word [rsp + 0x5c]
add ecx, 0xc9
cmp eax, ecx
jne 0x180049477
movzx eax, byte [rsp + 0x42]
inc al
mov byte [rsp + 0x42], al
jmp 0x1800493f8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, eax
cmp rax, qword [rsp + 0x418]
jne 0x180049507
mov rax, qword [0x1800a66e0]
movabs rcx, 0x1be9ac471fdff
xor rax, rcx
test rax, rax
je 0x1800494b5
mov rax, qword [0x1800a66a0]
shl rax, 6
mov byte [0x1800a65fe], al
jmp 0x1800494ef
movsx rax, word [0x1800a6690]
mov rcx, qword [0x1800a6678]
imul rcx, rax
mov rax, rcx
mov qword [0x1800a6678], rax
mov eax, dword [0x1800a65bc]
cdqe
movabs rcx, 0x4187cd85e21dd
imul rax, rcx
mov word [0x1800a66c0], ax
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 7
jmp 0x1800499b2
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x2fc]
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsp + 0x260], rax
mov dword [0x1800a66ec], 0xa2325ff7
movzx eax, byte [0x1800a6567]
movsx ecx, byte [rsp + 0x42]
mov edx, dword [0x1800a66ec]
add edx, ecx
mov ecx, edx
cmp eax, ecx
jne 0x1800498c8
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x180049717
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x3b0], rax
cmp qword [rsp + 0x3b0], 0
je 0x1800495b3
mov rcx, qword [rsp + 0x3b0]
call qword [sym.imp.USER32.dll_GetMenu]
mov qword [rsp + 0x420], rax
mov edx, 1
mov rcx, qword [rsp + 0x420]
call qword [sym.imp.USER32.dll_GetSubMenu]
mov qword [rsp + 0x440], rax
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1800496bf
movsx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1800495da
mov dword [rsp + 0x238], 1
jmp 0x1800495e5
mov dword [rsp + 0x238], 0
movzx eax, byte [0x1800a65e6]
movzx eax, al
mov ecx, dword [rsp + 0x238]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x18004962c
movzx eax, word [0x1800a66c0]
movzx eax, ax
mov rcx, qword [rsp + 0x68]
add rax, rcx
movzx ecx, word [0x1800a66c0]
movzx ecx, cx
sub rcx, rax
mov rax, rcx
mov word [0x1800a66c0], ax
jmp 0x1800496bd
movzx eax, word [0x1800a65fc]
movzx eax, ax
test eax, eax
je 0x18004967a
movzx eax, word [0x1800a669c]
test eax, eax
je 0x180049656
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov dword [rsp + 0x23c], eax
jmp 0x180049664
movzx eax, word [0x1800a669c]
mov dword [rsp + 0x23c], eax
movsxd rax, dword [rsp + 0x23c]
mov qword [0x1800a66b8], rax
mov byte [rsp + 0x45], 1
jmp 0x1800496bd
movzx eax, byte [0x1800a65a6]
movzx eax, al
sub rax, qword [rsp + 0x80]
test rax, rax
je 0x1800496a7
movsx eax, byte [rsp + 0x46]
movsx ecx, byte [0x1800a65fb]
not ecx
sub eax, ecx
mov dword [rsp + 0x7c], eax
jmp 0x1800496bd
xor eax, eax
cmp eax, 0x6fdd
je 0x1800496bd
mov eax, dword [rsp + 0x60]
add eax, 0x9228
mov byte [rsp + 0x41], al
jmp 0x180049712
movzx eax, word [0x1800a669c]
test eax, eax
je 0x180049712
mov eax, dword [0x1800a66cc]
cdqe
sub rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x64]
mov edx, dword [0x1800a66c4]
add edx, ecx
mov ecx, edx
mov ecx, ecx
imul rax, rcx
movzx ecx, word [0x1800a65fc]
movzx ecx, cx
not ecx
imul ecx, ecx, 0x25b4875e
add ecx, dword [0x1800a6688]
mov ecx, ecx
imul rax, rcx
mov dword [0x1800a66b0], eax
jmp 0x180049817
movzx eax, byte [0x1800a658e]
test eax, eax
je 0x180049786
movzx eax, word [0x1800a66b4]
cwde
test eax, eax
jne 0x18004973b
mov dword [rsp + 0x240], 1
jmp 0x180049746
mov dword [rsp + 0x240], 0
movzx eax, word [rsp + 0x48]
cwde
not eax
imul eax, eax, 0xffffff4e
mov ecx, dword [rsp + 0x240]
imul ecx, eax
mov eax, ecx
cdqe
add rax, qword [rsp + 0x90]
mov qword [0x1800a6680], rax
movzx eax, byte [0x1800a658e]
imul eax, eax, 0x69
mov byte [0x1800a65e6], al
jmp 0x180049817
movzx eax, word [0x1800a669c]
test eax, eax
je 0x1800497ee
mov eax, dword [0x1800a66cc]
test eax, eax
jne 0x1800497a8
mov dword [rsp + 0x244], 1
jmp 0x1800497b3
mov dword [rsp + 0x244], 0
movzx eax, byte [rsp + 0x40]
movzx eax, al
sub eax, dword [rsp + 0x244]
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
movzx edx, word [rsp + 0x50]
movsx edx, dx
sub ecx, edx
add eax, ecx
mov byte [rsp + 0x47], al
mov rax, qword [rsp + 0x68]
add rax, 0xba
mov word [0x1800a668c], ax
jmp 0x180049817
movzx eax, word [0x1800a66c0]
movzx eax, ax
test eax, eax
je 0x180049817
movzx eax, byte [rsp + 0x44]
movzx eax, al
mov ecx, dword [0x1800a6688]
lea eax, [rcx + rax - 0xad7f]
mov dword [0x1800a6688], eax
movzx eax, byte [0x1800a6566]
movsx eax, al
movzx ecx, word [rsp + 0x50]
movsx ecx, cx
add ecx, 0xa49d
cmp eax, ecx
jne 0x1800498c8
movzx eax, byte [0x18091bdb0]
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x7c]
add eax, 0x4a4a
mov eax, eax
mov qword [0x1800a66a8], rax
jmp 0x180049533
cmp qword [rsp + 0x260], 0
jne 0x18004990a
movzx eax, byte [rsp + 0x41]
movzx eax, al
add eax, 0xf6d2e5df
mov byte [rsp + 0x41], al
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 9
jmp 0x1800499b2
movsx eax, byte [rsp + 0x46]
imul eax, eax, 0xe77a3f5d
mov dword [0x1800a66c8], eax
mov eax, 4
imul rax, rax, 6
lea rcx, [0x1809cdad0]
mov edx, dword [rsp + 0x80]
mov dword [rcx + rax], edx
mov r9, qword [rsp + 0x580]
mov r8, qword [rsp + 0x260]
mov rdx, qword [rsp + 0x578]
mov rcx, qword [rsp + 0x570]
call fcn.180059190
mov dword [rsp + 0xa8], eax
mov rcx, qword [rsp + 0x260]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, word [0x1800a668c]
imul eax, dword [0x1800a66e8]
movzx ecx, word [0x1800a668c]
add ecx, eax
mov eax, ecx
mov word [0x1800a668c], ax
mov eax, dword [rsp + 0xa8]
add rsp, 0x560
pop rdi
ret