Function at 0x18002dce0
Capabilities:
Create thread
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x450]
sub rsp, 0x550
mov rax, qword [0x18009da48]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov r14, r9
mov rsi, r8
mov r15, rdx
mov edi, ecx
mov dword [rsp + 0x58], ecx
movdqa xmm0, xmmword [0x1800961b0]
movdqa xmmword [rbp + 0x1c0], xmm0
mov byte [rbp + 0x1b0], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp + 0x1e0], xmm0
mov byte [rbp + 0x1d0], 0
movdqa xmmword [rbp + 0x200], xmm0
mov byte [rbp + 0x1f0], 0
movdqa xmmword [rbp + 0x220], xmm0
mov byte [rbp + 0x210], 0
movdqa xmmword [rbp + 0x250], xmm0
mov byte [rbp + 0x240], 0
movdqa xmmword [rbp + 0x270], xmm0
mov byte [rbp + 0x260], 0
xor ecx, ecx
mov qword [rbp + 0x30], rcx
mov word [rbp + 0x38], cx
movdqu xmmword [rbp + 0x4a], xmm0
mov byte [rbp + 0x3a], cl
mov qword [rbp], rcx
mov word [rbp + 8], cx
movdqu xmmword [rbp + 0x1a], xmm0
mov byte [rbp + 0xa], cl
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rcx
movdqa xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rcx
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rcx
mov ecx, 0x30
call fcn.18008372c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x88], rax
xor r9d, r9d
mov qword [rbp + 0x98], r9
xorps xmm2, xmm2
movsd qword [rbp + 0xa0], xmm2
mov qword [rbp + 0xa8], r9
mov dword [rbp + 0xb0], 1
mov qword [rbp + 0xb8], r9
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xd0], xmm1
movdqa xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r9
mov qword [rbp + 0xf8], 0xffffffffffffffff
mov dword [rbp + 0x100], r9d
xor eax, eax
movups xmmword [rbp + 0x108], xmm0
movups xmmword [rbp + 0x118], xmm0
movups xmmword [rbp + 0x128], xmm0
movups xmmword [rbp + 0x138], xmm0
mov qword [rbp + 0x148], rax
movdqa xmm0, xmmword [0x1800961b0]
movdqa xmmword [rbp + 0x160], xmm0
mov byte [rbp + 0x150], al
mov word [rbp + 0x170], r9w
mov dword [rbp + 0x174], r9d
mov qword [rbp + 0x178], r9
xorps xmm0, xmm0
movaps xmmword [rbp + 0x180], xmm0
movsd qword [rbp + 0x190], xmm2
mov byte [rbp + 0x198], al
mov qword [rbp + 0x19c], r9
lea eax, [rdi + 0xe]
lea rdx, [0x180000000]
cmp edi, eax
jae 0x18002e0ec
lea ebx, [rdi - 0x77]
lea edi, [r9 + 0xe]
mov r12d, 0x646f
cmp ebx, 0x1c
ja case.0x18002df05.1
mov ecx, dword [rdx + rbx*4 + 0x2ed9c]
add rcx, rdx
jmp rcx
mov r8d, 2
lea rdx, [0x1800934e9]
lea rcx, [rbp + 0x2a2]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbp + 0x2a4], 0
mov r8d, 1
lea rdx, [0x180093588]
lea rcx, [rbp + 0x2a4]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x18002e0d2
mov eax, dword [0x1800935b9]
mov dword [rbp + 0x29a], eax
movzx eax, byte [0x1800935bd]
mov byte [rbp + 0x29e], al
jmp case.0x18002df05.1
mov r8d, 1
lea rdx, [0x1800935d7]
lea rcx, [rbp + 0x280]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov eax, dword [0x180093614]
mov dword [rbp + reloc.SHELL32.dll_SHChangeNotification_Lock], eax
movzx eax, byte [0x180093618]
mov byte [rbp + 0x288], al
mov byte [rbp + 0x289], 0
jmp 0x18002e0d2
movzx eax, word [str.tableListAlertMe]
mov word [rbp + 0x280], ax
movzx eax, byte [0x180093622]
mov byte [rbp + 0x282], al
mov byte [rbp + 0x283], 0
jmp case.0x18002df05.1
mov r8d, 4
lea rdx, [0x18009367b]
lea rcx, [rbp + 0x2a5]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x18002e0d2
mov byte [rbp + 0x294], 0x72
mov eax, dword [0x1800936ca]
mov dword [rbp + 0x295], eax
movzx eax, byte [0x1800936ce]
mov byte [rbp + 0x299], al
jmp case.0x18002df05.1
mov byte [rbp + 0x2a5], 0
jmp case.0x18002df05.1
mov r8d, 2
lea rdx, [0x18009370f]
lea rcx, [rbp + 0x280]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov byte [rbp + 0x28b], 0x72
jmp 0x18002e0d2
mov r8d, 4
lea rdx, [0x180093766]
jmp 0x18002e0c5
mov byte [rbp + 0x2ab], 0x28
jmp case.0x18002df05.1
mov word [rbp + 0x2a9], r12w
mov byte [rbp + 0x2ab], 0
jmp case.0x18002df05.1
mov eax, dword [rsi]
cmp eax, 0x7fffffff
je case.0x18002df05.1
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x20], r9
mov r9d, 0x8b
lea r8, [rsp + 0x60]
mov rdx, r15
xor ecx, ecx
call fcn.18005ba20
movzx ecx, byte [r14]
xor ecx, dword [rax]
and ecx, 1
xor dword [rax], ecx
jmp 0x18002e0d2
mov byte [rbp + 0x28c], 0
mov byte [rbp + 0x290], 0
jmp case.0x18002df05.1
mov byte [rbp + 0x29f], 0
mov r8d, 3
lea rdx, [0x18009379c]
lea rcx, [rbp + 0x290]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
xor r9d, r9d
lea rdx, [0x180000000]
inc ebx
sub rdi, 1
jne 0x18002def2
mov edi, dword [rsp + 0x58]
mov esi, edi
imul r13d, edi, 0xaa0
movzx eax, byte [rsp + 0x51]
mov ebx, dword [rsp + 0x60]
cmp edi, r13d
ja 0x18002e4c5
movabs rcx, 0x690064006e0069
lea r8, [0x18009c158]
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x51]
mov byte [rsp + 0x51], al
movzx eax, byte [rsp + 0x51]
mov byte [rsp + 0x52], al
mov r14, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
jmp 0x18002e143
xor r9d, r9d
cmp esi, 0x2cdb7
ja 0x18002e2b0
je 0x18002e28a
cmp esi, 0x1671f
ja 0x18002e1eb
je 0x18002e1c4
cmp esi, 0x87
je 0x18002e1b8
cmp esi, 0x5a2d
je 0x18002e1ac
cmp esi, 0xb3d3
je 0x18002e1a0
movzx edx, byte [rsp + 0x50]
cmp esi, 0x10d79
jne 0x18002e4ad
mov qword [rbp + 0x2d0], rcx
mov word [rbp + 0x2d8], r9w
jmp 0x18002e4ad
mov byte [rbp + 0x2ad], 0
jmp 0x18002e4a8
mov byte [rbp + 0x2ac], PathMakeUniqueName
jmp 0x18002e4a8
mov byte [rbp + 0x2ac], 0
jmp 0x18002e4a8
mov eax, dword [0x18009386c]
mov dword [rbp + 0x2d8], eax
movzx eax, word [0x180093870]
mov word [rbp + 0x2dc], ax
mov word [rbp + 0x2de], r9w
jmp 0x18002e4a8
cmp esi, 0x1c0c5
je 0x18002e26b
cmp esi, 0x21a6b
je 0x18002e247
cmp esi, 0x27411
jne 0x18002e4a8
mov word [rbp + 0x2e8], r9w
mov word [rbp + 0x2b0], r9w
lea rdx, [0x1800937b4]
mov r8d, 1
lea rcx, [rbp + 0x2b0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
movabs rcx, 0x690064006e0069
lea r8, [0x18009c158]
jmp 0x18002e4a8
mov word [rbp + 0x2e4], r9w
mov r8d, 2
lea rdx, [0x1800937ea]
lea rcx, [rbp + 0x2e4]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x18002e231
mov eax, dword [0x180093842]
mov dword [rbp + 0x2de], eax
movzx eax, word [0x180093846]
mov word [rbp + 0x2e2], ax
jmp 0x18002e4a8
mov eax, dword [0x1800937a8]
mov dword [rbp + 0x2b2], eax
movzx eax, word [0x1800937ac]
mov word [rbp + 0x2b6], ax
lea rdx, [0x1800937b0]
jmp 0x18002e21e
cmp esi, 0x4344f
ja 0x18002e45a
je 0x18002e416
cmp esi, 0x3275d
je 0x18002e3db
cmp esi, 0x38103
je 0x18002e3cc
cmp esi, 0x3daa9
jne 0x18002e4a8
mov dword [rbp + 0x2ca], 0x65
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r8
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x12]
xor ecx, ecx
call fcn.18007c920
test al, al
jne 0x18002e3b9
mov edi, 0x9d
cmp edi, 0x9d
je 0x18002e398
cmp edi, 0x5fac
je 0x18002e345
cmp edi, 0xbebb
je 0x18002e33e
cmp edi, 0x11dca
je case.0x18002e533.0
jmp 0x18002e3a3
mov ebx, 1
jmp 0x18002e3a3
lea rdx, [rbp + 0x330]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8d, r15d
mov rdx, r12
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_CDefFolderMenu_Create2]
test eax, eax
jne 0x18002e3a3
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
jmp 0x18002e3a3
xor eax, eax
mov r12d, eax
mov r15d, eax
mov r14d, eax
add edi, 0x5f0f
cmp edi, 0x17c3c
jbe 0x18002e318
mov edi, dword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
jmp 0x18002e231
mov dword [rbp + 0x2c8], 0x73
jmp 0x18002e4a8
mov eax, dword [0x180093824]
mov dword [rbp + 0x2b8], eax
movsd xmm0, qword [str._rever]
movsd qword [rbp + 0x2bc], xmm0
mov eax, dword [0x180093838]
mov dword [rbp + 0x2c4], eax
movzx eax, word [0x18009383c]
mov word [rbp + 0x2c8], ax
jmp 0x18002e4a8
lea rax, [rbp + 0x280]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18002e424
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x1b0]
call fcn.180021a30
mov dl, 1
mov byte [rsp + 0x50], dl
movabs rcx, 0x690064006e0069
lea r8, [0x18009c158]
jmp 0x18002e4ad
cmp esi, 0x48df5
je 0x18002e4a3
cmp esi, 0x4e79b
je 0x18002e49c
cmp esi, 0x54141
jne 0x18002e4a8
mov r8d, 1
lea rdx, [0x180093820]
lea rcx, [rbp + 0x1d0]
call fcn.180021a30
mov eax, 0x1bb
mov word [rbp + 0x230], ax
jmp 0x18002e231
mov byte [rsp + 0x51], 1
jmp 0x18002e4a8
mov byte [rsp + 0x52], 1
movzx edx, byte [rsp + 0x50]
imul eax, edi, 0xaa
add esi, eax
cmp esi, r13d
jbe 0x18002e140
movzx esi, byte [rsp + 0x52]
jmp 0x18002e4dc
movzx edx, byte [rsp + 0x51]
mov byte [rsp + 0x50], dl
mov byte [rsp + 0x51], al
movzx esi, byte [rsp + 0x51]
mov byte [rsp + 0x52], sil
lea r13d, [rdi - 0xe]
cmp edi, r13d
jbe case.0x18002e533.0
lea r12d, [rdi - 0x7a]
mov r8d, 0x5f
lea r9d, [r8 - 0x13]
lea r10d, [r8 - 0x16]
lea r11d, [r8 - 0xd]
mov r15, qword [rsp + 0x68]
movzx r14d, byte [rsp + 0x51]
nop word [rax + rax]
cmp r12d, 0xd
ja case.default.0x18002e533
lea rcx, [0x180000000]
mov ecx, dword [rcx + r12*4 + 0x2ee10]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov eax, 0x1bb
mov word [rsp + 0x58], ax
mov r9d, 0x6d
lea r8, [0x18009c1d8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp]
call fcn.180068140
movzx edx, byte [rsp + 0x50]
jmp case.default.0x18002e533
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea ecx, [r8 + 0x12]
call fcn.180069440
lea rax, [rbp + 0x30]
mov qword [rsp + 0x58], rax
mov rdx, qword [rbp - 0x78]
cmp rdx, qword [rbp - 0x70]
je 0x18002e595
lea rax, [rbp + 0x30]
mov qword [rdx], rax
add qword [rbp - 0x78], 8
jmp 0x18002e5a3
lea r8, [rsp + 0x58]
lea rcx, [rbp - 0x80]
call fcn.180001d50
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x78], eax
movzx edx, byte [rsp + 0x50]
jmp case.default.0x18002e533
mov eax, 0x1bb
mov word [rsp + 0x58], ax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, reloc.SHELL32.dll_ILFindLastID
lea r8, [0x18009c1b8]
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.180071f10
movzx edx, byte [rsp + 0x50]
jmp case.default.0x18002e533
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x80]
mov edx, reloc.SHELL32.dll_PathYetAnotherMakeUniqueName
lea rcx, [0x18009c150]
call fcn.18006dd50
xor edx, edx
mov ecx, edx
movzx eax, sil
cmp qword [rsp + 0x70], 0xffffffffffffffff
cmovne ecx, eax
movzx esi, cl
mov byte [rsp + 0x52], cl
mov ecx, edx
movzx eax, byte [rsp + 0x50]
cmp qword [rsp + 0x68], rcx
cmovne ecx, eax
movzx edx, cl
mov byte [rsp + 0x50], cl
mov edi, dword [rsp + 0x58]
jmp case.default.0x18002e533
lea rax, [rbp]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x78]
cmp rax, qword [rbp - 0x70]
je 0x18002e667
lea rcx, [rbp]
mov qword [rax], rcx
add qword [rbp - 0x78], 8
jmp 0x18002e679
lea r8, [rsp + 0x60]
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp - 0x80]
call fcn.180001d50
mov eax, dword [0x18009c200]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x20], 0x127
xor r9d, r9d
lea r8, [rsp + 0x60]
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.180054a10
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x100
xor r9d, r9d
xor edx, edx
lea rcx, [rdx - 1]
lea r8d, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rsp + 0x60], rax
movzx edx, byte [rsp + 0x50]
jmp case.default.0x18002e533
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x10]
lea r8, [0x1800125c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x30], rax
movzx edx, byte [rsp + 0x50]
jmp case.default.0x18002e533
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x100
xor r9d, r9d
xor edx, edx
lea rcx, [rdx - 1]
lea r8d, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rsp + 0x68], rax
lea rax, [0x1800090c0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
mov ecx, 0x7a
call fcn.180004d20
xor eax, eax
mov edx, eax
movzx ecx, byte [rsp + 0x51]
cmp qword [rsp + 0x60], rax
cmovne edx, ecx
mov byte [rsp + 0x51], dl
movzx edx, byte [rsp + 0x50]
jmp case.default.0x18002e533
mov rax, qword [rbp - 0x30]
test rax, rax
jne 0x18002e96e
mov esi, 0xce
nop word [rax + rax]
cmp esi, reloc.SHELL32.dll_SHChangeNotification_Lock
ja 0x18002e86c
je 0x18002e853
cmp esi, 0x1a9
ja 0x18002e817
je 0x18002e7f6
mov eax, esi
sub eax, 0xce
je 0x18002e7df
sub eax, 0x49
je 0x18002e7d2
cmp eax, 0x49
jne 0x18002e957
mov dword [rbp + 0x2f8], 0x45005f
jmp 0x18002e957
mov word [rbp + 0x2f6], r9w
jmp 0x18002e957
mov word [rbp + 0x2f0], r10w
mov dword [rbp + 0x2f2], 0x490047
jmp 0x18002e957
mov dword [rbp + 0x2fc], 0x540058
mov word [rbp + 0x300], r11w
mov dword [rbp + 0x302], 0x430041
jmp 0x18002e957
mov eax, esi
sub eax, 0x1f2
je 0x18002e838
cmp eax, 0x49
jne 0x18002e957
mov dword [rbp + 0x30c], 0x45004c
jmp 0x18002e957
mov eax, 0x54
mov word [rbp + 0x306], ax
mov dword [rbp + 0x308], 0x45005f
jmp 0x18002e957
mov dword [rbp + 0x310], 0x5f004d
mov dword [rbp + 0x314], 0x330049
jmp 0x18002e957
cmp esi, 0x3a8
ja 0x18002e923
je 0x18002e8cf
mov eax, esi
sub eax, 0x2cd
je 0x18002e8b6
sub eax, 0x49
je 0x18002e89e
cmp eax, 0x49
jne 0x18002e957
mov r14b, 1
xor eax, eax
mov r15d, eax
jmp 0x18002e957
mov dword [rbp + 0x320], 0x5a005f
xor eax, eax
mov word [rbp + 0x324], ax
jmp 0x18002e957
mov dword [rbp + 0x318], 0x5f0032
mov dword [rbp + 0x31c], 0x340056
jmp 0x18002e957
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x100
xor r9d, r9d
xor edx, edx
lea rcx, [rdx - 1]
lea r8d, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rdi, rax
test rax, rax
jne 0x18002e903
xor r14b, r14b
jmp 0x18002e945
test r14b, r14b
je 0x18002e945
xor r8d, r8d
lea rdx, [rbp - 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ClearCommError]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18002e945
mov eax, esi
sub eax, 0x3f1
je 0x18002e937
cmp eax, 0x49
je case.0x18002e533.0
jmp 0x18002e957
mov rcx, r15
call qword [sym.imp.SHELL32.dll_DragFinish]
mov ebx, 1
mov r11d, 0x52
lea r10d, [r11 - 9]
lea r9d, [r11 - 6]
lea r8d, [r11 + 0xd]
add esi, 0x49
cmp esi, 0x483
jb 0x18002e790
mov rax, qword [rbp - 0x30]
mov edi, dword [rsp + 0x58]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx edx, byte [rsp + 0x50]
movzx esi, byte [rsp + 0x52]
jmp case.default.0x18002e533
lea r8, [rbp + 0x1f0]
xor edx, edx
mov ecx, 0x8e
call fcn.180028970
lea r9, [rbp + 0x240]
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x1b0]
call fcn.18002cc40
movzx edx, byte [rsp + 0x50]
jmp case.default.0x18002e533
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9d, [rax + 0x2e]
xor r8d, r8d
lea rdx, [rbp + 0x80]
xor ecx, ecx
call fcn.180078260
cmp byte [rsp + 0x51], 0
je 0x18002e9fb
mov dl, 0x20
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_TransmitCommChar]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [rsp + 0x58]
test sil, sil
je 0x18002e55a
lea rax, [rbp + 0x290]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18002ea12
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x24]
lea rdx, [rbp + 0x290]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_FlushConsoleInputBuffer]
mov edi, dword [rsp + 0x58]
movzx edx, byte [rsp + 0x50]
jmp case.default.0x18002e533
lea rax, [rbp - 0x80]
mov qword [rbp - 0x20], rax
mov eax, dword [0x18009c200]
mov dword [rbp - 0x18], eax
mov eax, dword [0x18009c204]
mov dword [rbp - 0x14], eax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x10], xmm0
jmp case.default.0x18002e533
test dl, dl
je 0x18002eaad
lea rdx, [rbp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetCommState]
test eax, eax
je 0x18002ea9b
lea rdx, [rbp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetCommState]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [rsp + 0x58]
movzx edx, byte [rsp + 0x50]
xor eax, eax
mov ebx, eax
jmp case.default.0x18002e533
mov qword [rsp + 0x70], 0xffffffffffffffff
dec edi
mov dword [rsp + 0x58], edi
dec r12d
cmp edi, r13d
mov r8d, 0x5f
lea r9d, [r8 - 0x13]
lea r10d, [r8 - 0x16]
lea r11d, [r8 - 0xd]
ja 0x18002e510
lea rcx, [rbp + 0xf8]
call fcn.180003e20
mov rdi, qword [rbp + 0xe0]
test rdi, rdi
je 0x18002eb6e
mov rsi, qword [rbp + 0xe8]
cmp rdi, rsi
je 0x18002eb20
mov rcx, rdi
call fcn.18001f9b0
add rdi, 0x20
cmp rdi, rsi
jne 0x18002eb08
mov rdi, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xf0]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x18002eb4f
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002ebac
mov rcx, rdi
call fcn.180083768
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
xor r14d, r14d
mov qword [rbp + 0xf0], r14
jmp 0x18002eb71
xor r14d, r14d
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x18002ebca
mov rdx, qword [rbp + 0xd8]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002ebb3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002ebb3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180083768
mov qword [rbp + 0xc8], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xd0], xmm0
lea rcx, [rbp + 0x88]
call fcn.180003d50
nop
mov rdi, qword [rbp - 0x68]
test rdi, rdi
je 0x18002ec64
mov rsi, qword [rbp - 0x60]
cmp rdi, rsi
je 0x18002ec05
nop dword [rax]
mov rcx, rdi
call fcn.180003610
add rdi, 0x28
cmp rdi, rsi
jne 0x18002ebf0
mov rdi, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x58]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x18002ec50
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002eca1
mov rcx, rdi
call fcn.180083768
mov qword [rbp - 0x68], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x60], xmm0
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x18002ecb9
mov rax, qword [rbp - 0x70]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002eca8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002eca8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180083768
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
mov rdx, qword [rbp + 0x22]
cmp rdx, 0x10
jb 0x18002ecf7
inc rdx
mov rcx, qword [rbp + 0xa]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002ecf2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002ecf2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180083768
movdqa xmm0, xmmword [0x1800961b0]
movdqu xmmword [rbp + 0x1a], xmm0
mov byte [rbp + 0xa], 0
mov rdx, qword [rbp + 0x52]
cmp rdx, 0x10
jb 0x18002ed46
inc rdx
mov rcx, qword [rbp + 0x3a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002ed41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002ed41
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180083768
movdqa xmm0, xmmword [0x1800961b0]
movdqu xmmword [rbp + 0x4a], xmm0
mov byte [rbp + 0x3a], 0
lea rcx, [rbp + 0x240]
call fcn.180003970
nop
lea rcx, [rbp + 0x1b0]
call fcn.180003a20
mov eax, ebx
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.180083f10
mov rbx, qword [rsp + 0x590]
add rsp, 0x550
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret