Function at 0x7ff7903c3564
Capabilities:
Encode data using xor
Parse pe header
Resolve function by parsing pe exports

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 - 0x478]
sub rsp, 0x550
mov rax, qword [0x7ff7904d6b68]
xor rax, rsp
mov qword [rbp + 0x440], rax
xor eax, eax
mov qword [rbp - 0x58], rcx
mov r14, rcx
mov dword [rsp + 0x30], 0x90
mov rcx, qword [rcx + 0x28]
xor r9d, r9d
mov dword [rsp + 0x28], eax
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], eax
call qword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SetWindowPos]
nop dword [rax + rax]
mov rcx, r14
call fcn.7ff7903b86dc
mov eax, dword [r14 + 0x74]
mov r13d, 1
mov rcx, qword [r14 + 0x28]
sub eax, 2
mov r8d, 0x40008
lea edx, [r13 - 0x15]
cmp eax, r13d
ja 0x7ff7903c35fa
mov r8d, 0x8080028
call qword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SetWindowLongPtrW]
nop dword [rax + rax]
mov edi, dword [r14 + 0x78]
lea rsi, [r14 + 0x80]
xor r9d, r9d
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x50], r9d
xorps xmm0, xmm0
mov dword [rsp + 0x54], r9d
lea rax, [r14 + 0xf0]
mov qword [rbp - 0x70], r9
mov r15d, r9d
mov qword [rsp + 0x70], r9
lea ecx, [r9 + 4]
lea rdx, [0x7ff7904d8920]
mov r12d, r9d
movups xmmword [rbp - 0x20], xmm0
test rsi, rsi
jne 0x7ff7903c3659
mov ebx, 0x80070057
jmp 0x7ff7903c4839
test rax, rax
je 0x7ff7903c364f
xor eax, eax
lock cmpxchg dword [0x7ff7904d9050], r13d
jne 0x7ff7903c365e
mov eax, dword [0x7ff7904d85e8]
test eax, eax
jne 0x7ff7903c3bd7
mov ecx, 0x338
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x58], r9d
call fcn.7ff7901b5eb0
xor r9d, r9d
mov rbx, rax
test rax, rax
je 0x7ff7903c39e0
mov cl, r9b
lea r15, [rax + 7]
mov r14d, r9d
lea r12, [0x7ff79046b092]
or r13d, 0xffffffff
lea edi, [r9 + 0x67]
mov esi, r9d
mov r11d, r9d
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r12 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
xor esi, r9d
xor esi, r11d
xor esi, 0xac987321
lea eax, [rsi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov r8d, r11d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor esi, r8d
mov r8d, 0xab69605e
lea eax, [rsi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, esi
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea esi, [r11 - 0x7f1]
xor esi, edx
xor esi, r8d
mov eax, esi
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, esi
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 7
add edx, eax
xor esi, edx
mov eax, esi
mov r8d, esi
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r11d, r8d
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add edx, eax
xor esi, edx
xor r11d, esi
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor esi, edx
lea eax, [rsi - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, esi
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor esi, edx
lea eax, [rsi - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xe
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor esi, edx
mov eax, esi
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, esi
xor esi, r13d
rol eax, 2
mov r13d, r9d
xor edx, eax
xor edx, r14d
mov r14d, r10d
xor r11d, edx
mov byte [r15 - 4], r11b
mov byte [r15], sil
lea r15, [r15 + 8]
ror r11d, 8
mov byte [r15 - 0xd], r11b
ror esi, 8
mov byte [r15 - 9], sil
ror r11d, 8
mov byte [r15 - 0xe], r11b
ror esi, 8
mov byte [r15 - 0xa], sil
ror r11d, 8
ror esi, 8
mov byte [r15 - 0xf], r11b
mov byte [r15 - 0xb], sil
ror esi, 8
ror r11d, 8
sub rdi, 1
jne 0x7ff7903c36bb
mov r14, qword [rbp - 0x58]
xor edx, edx
mov edi, dword [rsp + 0x44]
mov eax, edx
mov r12d, edx
mov r15d, edx
mov r13d, edx
mov r8d, 0x338
lea rsi, [r14 + 0x80]
xor cl, byte [rax + rbx]
inc rax
cmp rax, r8
jb 0x7ff7903c39be
movzx eax, cl
cmp rax, qword [0x7ff79046b3c8]
je 0x7ff7903c3a3e
mov rcx, rbx
call fcn.7ff7901665e4
xor r9d, r9d
lea rbx, [0x7ff7904d8920]
mov r13d, 4
mov rcx, qword [rbx]
test rcx, rcx
je 0x7ff7903c3a04
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
nop dword [rax + rax]
xor r9d, r9d
add rbx, 0x18
sub r13, 1
jne 0x7ff7903c39ed
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x7ff7904d8920]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x7ff79044ce50]
lea rcx, [section..data]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x7ff7903c3be0
mov byte [rbx + r8 - 1], dl
lea rcx, [0x7ff7904d8920]
mov r8d, 0x60
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r9d, r9d
cmp byte [rbx], r9b
je 0x7ff7903c3b9f
mov qword [rbp - 0x38], rbx
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r9w
jne 0x7ff7903c3a6c
lea rbx, [rbx + rax*2]
mov eax, dword [rsp + 0x58]
lea rcx, [rax + rax*2]
lea rax, [0x7ff7904d8920]
lea r8, [rax + rcx*8]
xor ecx, ecx
mov qword [rbp - 0x80], r8
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r9d, r9d
test eax, eax
je 0x7ff7903c3b90
mov r8, qword [rbp - 0x80]
mov ecx, 0x5a4d
mov r13d, r9d
mov rax, qword [r8]
cmp word [rax], cx
je 0x7ff7903c3ac6
mov r13d, 0xc000007b
jmp 0x7ff7903c3b12
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x7ff7903c3abe
add rcx, qword [r8]
cmp rcx, qword [r8]
jb 0x7ff7903c3abe
cmp dword [rcx], 0x4550
jne 0x7ff7903c3abe
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x7ff7903c3b00
mov r13d, 0xc000000d
jmp 0x7ff7903c3b12
mov rax, qword [rcx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [rbx + 2]
mov ecx, r9d
add rbx, 6
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], ecx
test eax, eax
je 0x7ff7903c3b81
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r9b
jne 0x7ff7903c3b2f
inc rbx
add rbx, rax
test r13d, r13d
js 0x7ff7903c3b71
mov rcx, qword [r8]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
nop dword [rax + rax]
xor r9d, r9d
test rax, rax
je 0x7ff7903c3b96
mov ecx, dword [rsp + 0x40]
lea rdx, [section..data]
mov r8, qword [rbp - 0x80]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x48]
inc dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x48], ecx
cmp ecx, dword [rsp + 0x44]
jb 0x7ff7903c3b28
inc dword [rsp + 0x58]
cmp byte [rbx], r9b
jne 0x7ff7903c3a65
jmp 0x7ff7903c3b96
mov r13d, 0xc000007a
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x7ff7903c3bc2
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
xor r9d, r9d
test r13d, r13d
js 0x7ff7903c39e0
mov eax, dword [0x7ff7904d85e8]
mov r13d, 1
add eax, r13d
mov dword [0x7ff7904d85e8], eax
xor edx, edx
xor eax, eax
xchg dword [0x7ff7904d9050], eax
mov rcx, rsi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, 0xf
mov eax, edi
shr eax, 4
mov r13d, edi
and ax, cx
xorps xmm0, xmm0
mov word [rbp + 0x380], ax
and r13d, ecx
mov eax, edi
mov dword [rsp + 0x40], r13d
shr eax, 8
shr edi, 0xc
and ax, cx
and di, cx
mov word [rbp + 0x382], ax
movups xmmword [r14 + 0xf0], xmm0
mov word [rbp + 0x384], di
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x7ff7904d50f8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x7ff79045bf28]
xor ecx, ecx
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x7ff7903c3ca8
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
xor r12d, r12d
mov ebx, eax
test eax, eax
jle 0x7ff7903c3c86
movzx ebx, ax
or ebx, 0x80070000
lea rdx, [0x7ff7904d8920]
mov ecx, 4
lea r13d, [rcx - 3]
test ebx, ebx
js 0x7ff7903c4839
mov ebx, 0x80004005
jmp 0x7ff7903c4839
mov rdi, rcx
mov qword [rbp - 8], rcx
mov qword [rbp - 0x28], rcx
mov ebx, ecx
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x68], ecx
movabs r10, 0xbe1926d37a52c070
mov rax, qword [0x7ff7904d50a0]
lea r9, [rbp - 0x68]
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea ecx, [r8 + 8]
call qword [0x7ff79045bf28]
test eax, eax
jne 0x7ff7903c3d20
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x7ff7903c3d10
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x7ff7903c3e58
mov ebx, 0x80004005
jmp 0x7ff7903c3e58
mov ecx, dword [rbp - 0x68]
add rcx, rcx
call fcn.7ff7901b5eb0
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x60], rax
call fcn.7ff7901fa1c8
mov rax, qword [rsp + 0x60]
xor ecx, ecx
test rax, rax
jne 0x7ff7903c3d53
mov qword [rbp - 0x40], rcx
mov ebx, 0x8007000e
jmp 0x7ff7903c3e58
mov ecx, dword [rsp + 0x78]
inc ecx
mov qword [rbp - 0x40], rax
shl rcx, 2
call fcn.7ff7901b5eb0
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x48], rax
call fcn.7ff7901fa1c8
mov rax, qword [rsp + 0x48]
xor ecx, ecx
test rax, rax
jne 0x7ff7903c3d8a
mov ebx, 0x8007000e
jmp 0x7ff7903c3e54
mov qword [rbp - 0x50], rax
movabs r10, 0xbe1926d37a52c070
mov r8, qword [rsp + 0x60]
lea r9, [rbp - 0x68]
mov rax, qword [0x7ff7904d50a0]
lea rdx, [rsp + 0x78]
mov ecx, 8
call qword [0x7ff79045bf28]
xor ecx, ecx
test eax, eax
je 0x7ff7903c3cf3
mov rax, qword [rsp + 0x48]
mov rdi, rax
cmp dword [rsp + 0x78], ecx
jbe 0x7ff7903c3e40
mov rsi, rax
mov r13d, ecx
mov rax, qword [rsp + 0x60]
movabs r10, 0xeadd062354d83270
mov rcx, rax
xor edx, edx
mov rax, qword [0x7ff7904d50b0]
call qword [0x7ff79045bf28]
or rcx, 0xffffffffffffffff
mov dword [rsi], eax
mov rax, qword [rsp + 0x60]
xor edx, edx
inc rcx
cmp word [rax + rcx*2], dx
jne 0x7ff7903c3e04
lea rax, [rax + rcx*2]
add rsi, 4
add rax, 2
inc r13d
mov qword [rsp + 0x60], rax
cmp r13d, dword [rsp + 0x78]
jb 0x7ff7903c3ddb
mov r13d, dword [rsp + 0x40]
xor ecx, ecx
mov qword [rsp + 0x48], rsi
lea rsi, [r14 + 0x80]
mov rax, qword [rsp + 0x48]
mov dword [rax], 0x409
mov eax, dword [rsp + 0x78]
inc eax
mov qword [rbp - 8], rdi
mov dword [rsp + 0x48], eax
mov qword [rbp - 0x50], rcx
lea rcx, [rbp - 0x50]
call fcn.7ff7901fa1c8
lea rcx, [rbp - 0x40]
call fcn.7ff7901fa1c8
xor r11d, r11d
test ebx, ebx
js 0x7ff7903c3fd5
lea r15, [0x7ff79048e2d0]
mov r10d, r11d
mov r9d, r11d
mov dword [rsp + 0x58], r11d
cmp dword [rsp + 0x48], r11d
jbe 0x7ff7903c3ec4
mov r8d, r11d
mov ecx, r11d
mov rdx, r15
mov eax, dword [rdx]
cmp dword [r8 + rdi], eax
je 0x7ff7903c3ebd
mov eax, 4
inc ecx
add rdx, rax
cmp ecx, 0x26
jb 0x7ff7903c3e97
inc r9d
add r8, rax
cmp r9d, dword [rsp + 0x48]
jb 0x7ff7903c3e91
jmp 0x7ff7903c3ec4
mov r10d, ecx
mov dword [rsp + 0x58], ecx
mov ebx, r10d
mov dword [rsp + 0x44], r11d
movabs r10, 0xf3552e1936d87370
mov ecx, dword [r15 + rbx*4]
lea rdx, [rbp + 0x390]
mov rax, qword [0x7ff7904d50a8]
xor r9d, r9d
lea r8d, [r9 + 0x55]
call qword [0x7ff79045bf28]
xor r15d, r15d
test eax, eax
je 0x7ff7903c3f3d
movabs r10, 0xe375262d7cd44270
mov rax, qword [0x7ff7904d5090]
lea r9d, [r15 + 0x10]
lea r8, [rbp + 0x1b0]
lea edx, [r15 + 0x58]
lea rcx, [rbp + 0x390]
call qword [0x7ff79045bf28]
test eax, eax
jle 0x7ff7903c3f3d
mov edi, dword [rbp + 0x1bc]
shr edi, 0x1b
and edi, 1
mov dword [rsp + 0x44], edi
lea rcx, str.Segoe_UI_Light
mov edi, 0x13
lea rdx, [rbp + 0x2e0]
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r15w
jne 0x7ff7903c3f57
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub rdi, 1
jne 0x7ff7903c3f50
lea rcx, [rbx + rbx*2]
lea rdx, [0x7ff790472b50]
movzx eax, byte [rcx + rdx]
mov r15, qword [rbp + rax*8 + 0x2e0]
movzx eax, byte [rcx + rdx + 1]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r15
mov r8, qword [rbp + rax*8 + 0x2e0]
movzx eax, byte [rdx + rcx + 2]
mov qword [rsp + 0x70], r8
mov qword [rbp - 0x30], r8
mov r12, qword [rbp + rax*8 + 0x2e0]
mov qword [rbp - 0x80], r12
mov ecx, 0x1c90
call fcn.7ff7901b5eb0
xor r11d, r11d
mov r10, rax
test rax, rax
jne 0x7ff7903c4025
mov ebx, 0x8007000e
mov rcx, r11
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x7ff7903c3fe5
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rsp + 0x70]
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x70], rdi
call fcn.7ff7901fa1c8
lea rcx, [rbp - 0x28]
call fcn.7ff7901fa1c8
lea rcx, [rbp - 8]
call fcn.7ff7901fa1c8
xor ecx, ecx
test ebx, ebx
js 0x7ff7903c4809
cmp qword [rbp - 0x70], rcx
jne 0x7ff7903c465c
mov eax, ecx
jmp 0x7ff7903c4665
mov r15d, r11d
lea r13, [rax + 7]
or r12d, 0xffffffff
lea rsi, [0x7ff79048c632]
mov ebx, r11d
mov r14d, 0x392
movzx eax, byte [rsi - 1]
movzx r9d, byte [rsi - 2]
movzx r8d, byte [rsi + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 5]
or r8d, eax
xor r11d, r9d
movzx eax, byte [rsi - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rsi - 3]
shl r8d, 8
or r8d, eax
mov edi, r8d
xor edi, ebx
xor edi, r11d
xor edi, 0xac987321
lea eax, [rdi + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, edi
rol eax, 0xa
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub ecx, eax
xor edi, ecx
imul ecx, edi, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor r11d, ecx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
sub eax, ecx
xor r11d, eax
mov eax, r11d
mov edx, r11d
xor eax, 0x137f
ror edx, 6
imul ecx, eax, 0xab69
xor edx, ecx
xor edi, edx
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, edi
rol eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov eax, edi
mov edx, 0xab69605e
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea ebx, [r11 - 0x7f1]
xor ebx, edi
xor ebx, edx
mov eax, ebx
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, ebx
shr eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r11d
rol eax, 7
add ecx, eax
xor ebx, ecx
mov eax, ebx
mov edx, ebx
xor eax, 0x137f
ror edx, 9
imul ecx, eax, 0x605e
add edx, ecx
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add ecx, eax
xor ebx, ecx
xor r11d, ebx
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor ebx, ecx
lea eax, [rbx - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, ebx
ror eax, 6
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, ebx
ror eax, 0xe
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, ebx
xor ebx, r12d
rol eax, 2
mov r12d, r8d
xor ecx, eax
xor ecx, r15d
mov r15d, r9d
xor r11d, ecx
mov byte [r13 - 4], r11b
mov byte [r13], bl
lea r13, [r13 + 8]
ror r11d, 8
mov byte [r13 - 0xd], r11b
ror ebx, 8
mov byte [r13 - 9], bl
ror r11d, 8
mov byte [r13 - 0xe], r11b
ror ebx, 8
mov byte [r13 - 0xa], bl
ror r11d, 8
ror ebx, 8
mov byte [r13 - 0xf], r11b
mov byte [r13 - 0xb], bl
ror ebx, 8
ror r11d, 8
sub r14, 1
jne 0x7ff7903c4040
mov r14, qword [rbp - 0x58]
xor r11d, r11d
mov r13d, dword [rsp + 0x40]
mov eax, r11d
mov r12, qword [rbp - 0x80]
xorps xmm1, xmm1
mov r15, qword [rsp + 0x60]
mov edi, 0x1c90
lea rsi, [r14 + 0x80]
movdqu xmm0, xmmword [rax + r10]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rdi
jb 0x7ff7903c4333
psrldq xmm0, 8
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 2
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 1
pxor xmm1, xmm0
movd eax, xmm1
movzx eax, al
cmp rax, qword [0x7ff79048e2c0]
je 0x7ff7903c43a0
mov ebx, 0xc004d501
mov rcx, r10
call fcn.7ff7901665e4
mov rcx, qword [rbp - 0x78]
jmp 0x7ff7903c3fd8
mov qword [rbp - 0x28], r10
mov ebx, r11d
mov qword [rbp - 0x78], rdi
test r10, r10
jne 0x7ff7903c43b5
mov r10, r11
jmp 0x7ff7903c43b9
mov qword [rbp - 0x78], rdi
mov r9d, dword [rsp + 0x58]
lea rdx, [rbp + 0x2b0]
mov r8d, 6
mov ecx, r11d
cmp r9d, ecx
jne 0x7ff7903c43d6
mov qword [rdx], r10
or rax, 0xffffffffffffffff
inc rax
cmp byte [r10 + rax], r11b
jne 0x7ff7903c43da
inc r10
inc ecx
add r10, rax
cmp ecx, 0x26
jb 0x7ff7903c43ce
add rdx, 8
sub r8, 1
jne 0x7ff7903c43cb
lea ecx, [r8 + 0x18]
call fcn.7ff7901b5eb0
lea rcx, [rbp - 0x48]
mov r15, rax
call fcn.7ff7901fa1c8
xor r11d, r11d
mov r9d, 3
mov qword [rsp + 0x58], r9
test r15, r15
jne 0x7ff7903c4433
mov r15d, r11d
mov qword [rbp - 0x48], r11
mov ebx, 0x8007000e
jmp 0x7ff7903c45ea
xorps xmm0, xmm0
mov qword [rbp - 0x48], r15
xor eax, eax
mov dword [rsp + 0x48], r11d
mov rdx, r15
mov qword [rbp + 8], r15
lea rcx, [rbp + 0x380]
mov qword [rbp - 0x80], rdx
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rax
mov r8d, r11d
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x78], rdi
movzx r10d, word [rcx]
lea rcx, [0x7ff79048e368]
mov eax, r11d
cmp r10w, word [rcx]
je 0x7ff7903c448a
inc eax
add rcx, 2
cmp eax, 6
jb 0x7ff7903c4474
jmp 0x7ff7903c4550
mov rax, qword [rbp + rax*8 + 0x2b0]
or rcx, 0xffffffffffffffff
mov qword [rbp], rax
inc rcx
cmp byte [rax + rcx], r11b
jne 0x7ff7903c449a
lea r9d, [rcx + 1]
movabs r10, 0x8f85170d18d27270
mov r8, rax
mov dword [rsp + 0x28], r11d
mov rax, qword [0x7ff7904d50c0]
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], r11
call qword [0x7ff79045bf28]
mov dword [rsp + 0x40], eax
test eax, eax
je 0x7ff7903c45bf
movsxd rcx, eax
add rcx, rcx
call fcn.7ff7901b5eb0
mov rcx, qword [rbp - 0x80]
xor r11d, r11d
mov qword [rcx], rax
test rax, rax
je 0x7ff7903c45b8
mov r8, qword [rbp]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], r11b
jne 0x7ff7903c4504
lea r9d, [rcx + 1]
movabs r10, 0x8f85170d18d27270
mov edx, dword [rsp + 0x40]
mov ecx, 0xfde9
mov dword [rsp + 0x28], edx
xor edx, edx
mov qword [rsp + 0x20], rax
mov rax, qword [0x7ff7904d50c0]
call qword [0x7ff79045bf28]
xor r11d, r11d
test eax, eax
je 0x7ff7903c458c
mov rdx, qword [rbp - 0x80]
lea r9d, [r11 + 3]
mov r8d, dword [rsp + 0x48]
mov rcx, qword [rbp - 0x58]
inc r8d
add rcx, 2
mov dword [rsp + 0x48], r8d
add rdx, 8
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x80], rdx
cmp r8d, r9d
jb 0x7ff7903c4466
mov rax, qword [rbp + 8]
mov r15, r11
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x44]
mov dword [rsi], eax
mov qword [rbp - 0x48], r11
jmp 0x7ff7903c45ea
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x7ff7903c45a7
movzx ebx, ax
or ebx, 0x80070000
mov r9d, 3
test ebx, ebx
js 0x7ff7903c45ea
mov ebx, 0x80004005
jmp 0x7ff7903c45ea
mov ebx, 0x8007000e
jmp 0x7ff7903c45e4
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x7ff7903c45da
movzx ebx, ax
or ebx, 0x80070000
test ebx, ebx
mov eax, 0x80004005
cmovns ebx, eax
mov r9d, 3
test r15, r15
je 0x7ff7903c4652
mov r11, qword [rbp - 0x30]
mov rcx, rdi
mov r10, qword [rsp + 0x68]
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x70], r11
xor r11d, r11d
mov qword [rbp - 0x78], rdi
mov qword [rsp + 0x60], r10
mov rdi, qword [r15]
test rdi, rdi
je 0x7ff7903c4643
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdi + rcx*2], r11w
jne 0x7ff7903c461d
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rcx, qword [r15]
call fcn.7ff7901665e4
mov r9, qword [rsp + 0x58]
xor r11d, r11d
add r15, 8
sub r9, 1
mov qword [rsp + 0x58], r9
jne 0x7ff7903c4611
mov r15, qword [rsp + 0x60]
jmp 0x7ff7903c4397
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x70], rdi
mov rax, qword [rax]
mov qword [rsi + 8], rax
jne 0x7ff7903c4673
mov rax, rcx
jmp 0x7ff7903c467c
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x70], rdi
mov rax, qword [rax + 8]
mov qword [rsi + 0x10], rax
jne 0x7ff7903c468b
mov rax, rcx
jmp 0x7ff7903c4694
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x70], rdi
mov rax, qword [rax + 0x10]
xorps xmm0, xmm0
mov qword [rsi + 0x18], rax
mov ebx, ecx
movups xmmword [rbp + 0x10], xmm0
mov dword [rbp + 0x10], 0x10
mov dword [rsp + 0x44], ecx
movabs r10, 0xadb51e5154d11b70
mov rax, qword [0x7ff7904d5168]
lea r8, [rbp + 0x10]
xor edx, edx
xor r9d, r9d
lea ecx, [rdx + 0x42]
call qword [0x7ff79045bf28]
test eax, eax
jne 0x7ff7903c46ff
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x7ff7903c46f2
movzx ebx, ax
or ebx, 0x80070000
mov edi, 0x80004005
test ebx, ebx
js 0x7ff7903c470e
mov ebx, edi
jmp 0x7ff7903c470e
mov edi, dword [rbp + 0x14]
and edi, 1
mov dword [rsp + 0x44], edi
mov edi, 0x80004005
mov eax, dword [rsp + 0x44]
mov dword [rsi + 4], eax
test ebx, ebx
js 0x7ff7903c4809
mov edx, 0xb
mov ecx, r13d
lea eax, [rdx + 0x1f]
mov dword [rsp + 0x40], eax
sub ecx, 1
je 0x7ff7903c4754
sub ecx, 1
je 0x7ff7903c474a
cmp ecx, 1
jne 0x7ff7903c475c
mov ebx, 0xe1
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x54], ebx
jmp 0x7ff7903c475c
mov dword [rsp + 0x50], 0xf
jmp 0x7ff7903c4758
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], edx
mov ebx, 0xdc
mov dword [rsp + 0x58], 0x60
mov r8d, ebx
lea rcx, [rbp + 0x1d0]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov word [rbp + 0x214], bx
movabs r10, 0xd1659e5312d9a870
mov rax, qword [0x7ff7904d50e0]
lea r8, [rbp + 0x1d0]
or edx, 0xffffffff
xor ecx, ecx
call qword [0x7ff79045bf28]
xor ebx, ebx
test eax, eax
je 0x7ff7903c47d3
mov eax, dword [rbp + 0x27c]
movzx ecx, word [rbp + 0x276]
mov dword [rbp - 0x18], eax
mov eax, dword [rbp + 0x280]
mov dword [rbp - 0x14], eax
lea eax, [rbx + 0x60]
cmp ecx, eax
mov qword [rbp - 0x20], rbx
cmovb ecx, eax
mov dword [rsp + 0x58], ecx
cmp r13d, 1
lea rcx, [rbp + 0x90]
mov rax, r12
cmove rax, r15
xor edx, edx
mov qword [rsp + 0x68], rax
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
lea rax, [rsi + 0x20]
xor ecx, ecx
test rax, rax
jne 0x7ff7903c48f2
mov ebx, 0x80070057
xor r12d, r12d
movabs r10, 0xb7b1b729165e9270
mov rdx, qword [rbp - 0x60]
xor ecx, ecx
mov rax, qword [0x7ff7904d5160]
call qword [0x7ff79045bf28]
mov ecx, 4
lea rdx, [0x7ff7904d8920]
lea r13d, [rcx - 3]
xor eax, eax
lock cmpxchg dword [0x7ff7904d9050], r13d
jne 0x7ff7903c4839
mov eax, dword [0x7ff7904d85e8]
test eax, eax
jle 0x7ff7903c48a9
sub eax, r13d
mov dword [0x7ff7904d85e8], eax
jne 0x7ff7903c48a9
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdi]
test rcx, rcx
je 0x7ff7903c4875
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub rsi, r13
jne 0x7ff7903c4861
xor edx, edx
lea r8d, [rsi + 0x60]
lea rcx, [0x7ff7904d8920]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x7ff79044ce50]
lea rcx, [section..data]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r12d
lea rcx, [rbp - 0x70]
xchg dword [0x7ff7904d9050], eax
call fcn.7ff7901fa1c8
test ebx, ebx
js 0x7ff7903c53b9
mov rcx, r14
call fcn.7ff7903b8448
mov ebx, eax
test eax, eax
js 0x7ff7903c53b9
mov eax, dword [r14 + 0x74]
mov rcx, r14
sub eax, 2
cmp eax, r13d
jbe 0x7ff7903c52f8
call fcn.7ff7903bd164
jmp 0x7ff7903c52fd
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x7ff7904d50f8]
xor edx, edx
mov r8d, 0x403
call qword [0x7ff79045bf28]
mov qword [rbp - 0x30], rax
test rax, rax
jne 0x7ff7903c4944
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x7ff7903c4937
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x7ff7903c49ff
mov ebx, edi
jmp 0x7ff7903c4809
movabs r10, 0xb354a64f56d8b370
mov edx, dword [rsp + 0x58]
mov r8d, 0x48
mov ecx, dword [rsp + 0x50]
mov rax, qword [0x7ff7904d50b8]
call qword [0x7ff79045bf28]
mov r8, qword [rsp + 0x68]
lea rcx, [rbp + 0xac]
neg eax
mov dword [rbp + 0xa0], 0x190
mov edx, 0x20
mov dword [rbp + 0x90], eax
mov byte [rbp + 0xaa], 5
call fcn.7ff7901b120c
movabs r10, 0xfab916f870535070
mov rax, qword [0x7ff7904d5020]
lea rcx, [rbp + 0x90]
call qword [0x7ff79045bf28]
test rax, rax
jne 0x7ff7903c49de
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x7ff7903c49d8
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x7ff7903c49e2
mov ebx, edi
jmp 0x7ff7903c49e2
mov qword [rsi + 0x20], rax
movabs r10, 0xb7b1b729165e9270
mov rdx, qword [rbp - 0x30]
xor ecx, ecx
mov rax, qword [0x7ff7904d5160]
call qword [0x7ff79045bf28]
test ebx, ebx
js 0x7ff7903c4809
cmp r13d, 1
lea rcx, [rbp + 0xf0]
cmove r12, r15
xor edx, edx
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
lea r15, [rsi + 0x28]
mov ebx, eax
test r15, r15
je 0x7ff7903c4804
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x7ff7904d50f8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x7ff79045bf28]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x7ff7903c4a8a
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
xor r12d, r12d
mov ebx, eax
test eax, eax
jle 0x7ff7903c4a7b
movzx ebx, ax
or ebx, 0x80070000
test ebx, ebx
js 0x7ff7903c480c
mov ebx, edi
jmp 0x7ff7903c480c
movabs r10, 0xb354a64f56d8b370
mov edx, dword [rsp + 0x58]
mov r8d, 0x48
mov ecx, dword [rsp + 0x54]
mov rax, qword [0x7ff7904d50b8]
call qword [0x7ff79045bf28]
mov r8, r12
mov dword [rbp + 0x100], 0x190
neg eax
mov byte [rbp + 0x10a], 5
mov edx, 0x20
mov dword [rbp + 0xf0], eax
lea rcx, [rbp + 0x10c]
call fcn.7ff7901b120c
movabs r10, 0xfab916f870535070
mov rax, qword [0x7ff7904d5020]
lea rcx, [rbp + 0xf0]
call qword [0x7ff79045bf28]
xor r12d, r12d
test rax, rax
jne 0x7ff7903c4b25
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x7ff7903c4b1d
movzx ebx, ax
or ebx, 0x80070000
test ebx, ebx
js 0x7ff7903c4b28
mov ebx, edi
jmp 0x7ff7903c4b28
mov qword [r15], rax
movabs r10, 0xb7b1b729165e9270
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
mov rax, qword [0x7ff7904d5160]
call qword [0x7ff79045bf28]
test ebx, ebx
js 0x7ff7903c480c
mov ecx, r13d
mov r15d, r12d
mov edx, r12d
sub ecx, 1
je 0x7ff7903c4b66
sub ecx, 1
je 0x7ff7903c4b9b
cmp ecx, 1
jne 0x7ff7903c4b6d
mov r15d, dword [rbp - 0x18]
mov edx, dword [rbp - 0x14]
mov dword [r14 + 0xf8], r15d
mov dword [r14 + 0xfc], edx
mov ecx, r13d
sub ecx, 1
je 0x7ff7903c4bbf
sub ecx, 1
je 0x7ff7903c4bae
cmp ecx, 1
je 0x7ff7903c4bae
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x54]
jmp 0x7ff7903c4bd6
mov eax, dword [rbp - 0x18]
mov ecx, 4
cdq
idiv ecx
mov edx, r12d
mov r15d, eax
jmp 0x7ff7903c4b6d
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x48], r12d
jmp 0x7ff7903c4bcf
mov dword [rsp + 0x50], 0x96
mov dword [rsp + 0x48], 0x20
mov eax, r12d
mov dword [rsp + 0x54], eax
sub r15d, dword [rsp + 0x50]
mov ebx, r12d
sub r15d, eax
mov dword [rsi + 0x54], r15d
mov dword [rsi + 0x44], r15d
mov rdi, qword [rsi + 8]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rbp - 0x60]
mov rax, qword [0x7ff7904d5078]
call qword [0x7ff79045bf28]
mov qword [rsp + 0x68], rax
lea r9, [rsi + 0x3c]
movabs r10, 0xfa2817df7ad26370
mov rax, qword [0x7ff7904d50d8]
xor ecx, ecx
mov qword [rsp + 0x28], rcx
or r8d, 0xffffffff
mov rcx, qword [rbp - 0x60]
mov rdx, rdi
mov dword [rsp + 0x20], 0xc50
call qword [0x7ff79045bf28]
xor ecx, ecx
mov r12d, 0x80004005
test eax, eax
cmove ebx, r12d
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x7ff7903c4c7e
movabs r10, 0xe62ca6fe305b8a70
mov rcx, qword [rbp - 0x60]
mov rdx, rax
mov rax, qword [0x7ff7904d5078]
call qword [0x7ff79045bf28]
xor ecx, ecx
test ebx, ebx
js 0x7ff7903c4809
mov rdi, qword [rsi + 0x10]
mov ebx, ecx
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rsi + 0x28]
mov rcx, qword [rbp - 0x60]
mov rax, qword [0x7ff7904d5078]
call qword [0x7ff79045bf28]
mov qword [rsp + 0x68], rax
lea r9, [rsi + 0x4c]
movabs r10, 0xfa2817df7ad26370
mov rax, qword [0x7ff7904d50d8]
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov rdx, rdi
mov rdi, qword [rbp - 0x60]
or r8d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x20], 0xc50
call qword [0x7ff79045bf28]
xor ecx, ecx
test eax, eax
cmove ebx, r12d
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x7ff7903c4d19
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x7ff7904d5078]
call qword [0x7ff79045bf28]
xor ecx, ecx
test ebx, ebx
js 0x7ff7903c4809
lea eax, [r13 - 2]
cmp eax, 1
ja 0x7ff7903c4d37
mov r15d, dword [rsi + 0x54]
cmp dword [rsi + 0x44], r15d
cmovg r15d, dword [rsi + 0x44]
cmp dword [rsi], ecx
je 0x7ff7903c4d94
mov edi, dword [rsp + 0x54]
mov edx, edi
sub edx, dword [rsi + 0x44]
add edx, r15d
movabs r10, 0xef788e6016d10870
mov r8d, dword [rsp + 0x40]
lea rcx, [rsi + 0x3c]
mov rax, qword [0x7ff7904d5150]
call qword [0x7ff79045bf28]
sub edi, dword [rsi + 0x54]
mov r8d, dword [rsp + 0x48]
add r8d, dword [rsi + 0x48]
lea edx, [r15 + rdi]
movabs r10, 0xef788e6016d10870
mov rax, qword [0x7ff7904d5150]
lea rcx, [rsi + 0x4c]
call qword [0x7ff79045bf28]
jmp 0x7ff7903c4de0
movabs r10, 0xef788e6016d10870
mov r8d, dword [rsp + 0x40]
lea rcx, [rsi + 0x3c]
mov edx, dword [rsp + 0x50]
mov rax, qword [0x7ff7904d5150]
call qword [0x7ff79045bf28]
mov r8d, dword [rsp + 0x48]
add r8d, dword [rsi + 0x48]
movabs r10, 0xef788e6016d10870
mov edx, dword [rsp + 0x50]
lea rcx, [rsi + 0x4c]
mov rax, qword [0x7ff7904d5150]
call qword [0x7ff79045bf28]
lea eax, [r13 - 2]
cmp eax, 1
jbe 0x7ff7903c50d4
cmp r13d, 1
jne 0x7ff7903c50ec
xor edx, edx
mov dword [rsi + 0x38], 0xffffff
lea r8d, [r13 + 0x5b]
lea rcx, [rbp + 0x150]
lea rdi, [rsi + 0x30]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov ebx, eax
test rdi, rdi
je 0x7ff7903c4804
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x7ff7904d50f8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x7ff79045bf28]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x7ff7903c4e79
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
xor eax, eax
test ebx, ebx
jle 0x7ff7903c4e6b
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x7ff7903c4f37
mov ebx, r12d
jmp 0x7ff7903c4809
movabs r10, 0xb354a64f56d8b370
mov edx, dword [rsp + 0x58]
mov r8d, 0x48
mov rax, qword [0x7ff7904d50b8]
lea ecx, [r8 - 0x3d]
call qword [0x7ff79045bf28]
mov r8, qword [rsp + 0x70]
lea rcx, [rbp + 0x16c]
neg eax
mov dword [rbp + 0x160], 0x190
mov edx, 0x20
mov dword [rbp + 0x150], eax
mov byte [rbp + 0x16a], 5
call fcn.7ff7901b120c
movabs r10, 0xfab916f870535070
mov rax, qword [0x7ff7904d5020]
lea rcx, [rbp + 0x150]
call qword [0x7ff79045bf28]
test rax, rax
jne 0x7ff7903c4f14
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x7ff7903c4f0d
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x7ff7903c4f17
mov ebx, r12d
jmp 0x7ff7903c4f17
mov qword [rdi], rax
movabs r10, 0xb7b1b729165e9270
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
mov rax, qword [0x7ff7904d5160]
call qword [0x7ff79045bf28]
xor eax, eax
test ebx, ebx
js 0x7ff7903c4809
mov dword [rsi + 0x64], r15d
mov ebx, eax
mov rdi, qword [rsi + 0x18]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rsi + 0x30]
mov rcx, qword [rbp - 0x60]
mov rax, qword [0x7ff7904d5078]
call qword [0x7ff79045bf28]
mov qword [rsp + 0x68], rax
lea r15, [rsi + 0x5c]
movabs r10, 0xfa2817df7ad26370
xor eax, eax
mov rdx, rdi
mov rdi, qword [rbp - 0x60]
mov r9, r15
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rax, qword [0x7ff7904d50d8]
or r8d, 0xffffffff
mov dword [rsp + 0x20], 0x460
call qword [0x7ff79045bf28]
test eax, eax
cmove ebx, r12d
mov rax, qword [rsp + 0x68]
xor r12d, r12d
test rax, rax
je 0x7ff7903c4fd8
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x7ff7904d5078]
call qword [0x7ff79045bf28]
test ebx, ebx
js 0x7ff7903c480c
mov eax, dword [rsi + 0x64]
mov ecx, 0x5a
add eax, 0x18
cmp eax, ecx
cmovl eax, ecx
mov dword [rsi + 0x64], eax
mov dword [rsi + 0x68], 0x20
movabs r10, 0xb354a64f56d8b370
mov edi, dword [rsp + 0x58]
lea ebx, [rcx + 6]
mov ecx, dword [r15]
mov r8d, ebx
mov rax, qword [0x7ff7904d50b8]
mov edx, edi
call qword [0x7ff79045bf28]
mov dword [r15], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [r15 + 4]
mov r8d, ebx
mov rax, qword [0x7ff7904d50b8]
mov edx, edi
call qword [0x7ff79045bf28]
mov dword [r15 + 4], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [r15 + 8]
mov r8d, ebx
mov rax, qword [0x7ff7904d50b8]
mov edx, edi
call qword [0x7ff79045bf28]
mov dword [r15 + 8], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [r15 + 0xc]
mov r8d, ebx
mov rax, qword [0x7ff7904d50b8]
mov edx, edi
call qword [0x7ff79045bf28]
mov dword [r15 + 0xc], eax
mov r8d, dword [rsi + 0x58]
add r8d, 0x24
cmp dword [rsi], r12d
je 0x7ff7903c50c2
mov edx, dword [rsi + 0x3c]
cmp edx, dword [rsi + 0x4c]
cmovge edx, dword [rsi + 0x4c]
movabs r10, 0xef788e6016d10870
mov rax, qword [0x7ff7904d5150]
mov rcx, r15
call qword [0x7ff79045bf28]
jmp 0x7ff7903c50ef
mov edx, dword [rsi + 0x44]
cmp edx, dword [rsi + 0x54]
cmovle edx, dword [rsi + 0x54]
sub edx, dword [rsi + 0x64]
add edx, dword [r15]
jmp 0x7ff7903c50a6
mov dword [r14 + 0xf8], r15d
mov eax, dword [rsi + 0x58]
mov dword [r14 + 0xfc], eax
mov dword [rsi + 0x38], 0xffa8a8a8
xor r12d, r12d
mov r15d, dword [rsi]
lea rsi, [r14 + 0xf0]
mov ebx, dword [rsi + 0xc]
mov edi, dword [rsi + 8]
sub r13d, 1
je 0x7ff7903c52ec
sub r13d, 1
je 0x7ff7903c51f3
cmp r13d, 1
jne 0x7ff7903c52f0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x80], rax
movups xmmword [rbp + 0x70], xmm0
movabs r10, 0x95359f2d7edc9a70
mov rax, qword [0x7ff7904d5148]
mov edx, r13d
xor ecx, ecx
call qword [0x7ff79045bf28]
mov dword [rbp + 0x60], 0x28
movabs r10, 0x93fc1ebd305e9370
mov rcx, rax
lea rdx, [rbp + 0x60]
mov rax, qword [0x7ff7904d5108]
call qword [0x7ff79045bf28]
test eax, eax
je 0x7ff7903c52f0
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x7ff7904d5140]
lea rdx, [rbp + 0x74]
xor ecx, ecx
call qword [0x7ff79045bf28]
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x7ff7904d5140]
lea rdx, [rbp + 0x7c]
xor ecx, ecx
call qword [0x7ff79045bf28]
movups xmm1, xmmword [rbp + 0x74]
movdqa xmm0, xmm1
psrldq xmm1, 8
psrldq xmm0, 8
movd eax, xmm0
sub eax, edi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
movq rcx, xmm1
shr rcx, 0x20
sub ecx, ebx
imul ecx, ecx, 0x32
jmp 0x7ff7903c52d4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x58], rax
movups xmmword [rbp + 0x48], xmm0
movabs r10, 0x95359f2d7edc9a70
lea edx, [rax + 1]
xor ecx, ecx
mov rax, qword [0x7ff7904d5148]
call qword [0x7ff79045bf28]
mov dword [rbp + 0x38], 0x28
movabs r10, 0x93fc1ebd305e9370
mov rcx, rax
lea rdx, [rbp + 0x38]
mov rax, qword [0x7ff7904d5108]
call qword [0x7ff79045bf28]
test eax, eax
je 0x7ff7903c52f0
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x7ff7904d5140]
lea rdx, [rbp + 0x4c]
xor ecx, ecx
call qword [0x7ff79045bf28]
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x7ff7904d5140]
lea rdx, [rbp + 0x54]
xor ecx, ecx
call qword [0x7ff79045bf28]
mov eax, dword [rbp + 0x54]
movups xmm0, xmmword [rbp + 0x4c]
movdqu xmmword [rbp + 0x28], xmm0
test r15d, r15d
je 0x7ff7903c52b1
lea ecx, [rax + rax*4]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, dword [rbp + 0x4c]
jmp 0x7ff7903c52c7
sub eax, edi
imul ecx, eax, 0x5f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rbp + 0x30]
shr rax, 0x20
sub eax, ebx
imul ecx, eax, 0x5f
mov dword [rsi], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsi + 4], edx
jmp 0x7ff7903c52f0
and qword [rsi], 0
mov ebx, r12d
jmp 0x7ff7903c480c
call fcn.7ff7903bd240
mov ebx, eax
test eax, eax
jns 0x7ff7903c532f
mov eax, 4
test byte [0x7ff7904d9cc4], al
je 0x7ff7903c53b9
mov r8d, ebx
lea rdx, [0x7ff790483758]
lea rcx, [0x7ff7904d5510]
call 0x7ff790244458
jmp 0x7ff7903c53b9
mov byte [r14 + 0x102], r13b
cmp byte [r14 + 0x101], r12b
je 0x7ff7903c53b1
mov ecx, dword [r14 + 0x74]
lea eax, [rcx - 2]
cmp eax, r13d
jbe 0x7ff7903c539b
cmp ecx, r13d
jne 0x7ff7903c53b1
mov rcx, qword [r14 + 0x28]
mov edx, 5
call qword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_ShowWindow]
nop dword [rax + rax]
mov rcx, qword [r14 + 0x28]
call qword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SetFocus]
nop dword [rax + rax]
cmp byte [r14 + 0x100], r12b
je 0x7ff7903c53b1
mov rcx, qword [r14 + 0x30]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x402
call qword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SendMessageW]
nop dword [rax + rax]
jmp 0x7ff7903c53b1
mov rcx, r14
call fcn.7ff7903c1ee4
test eax, eax
mov ebx, eax
setns al
mov byte [r14 + 0x101], al
mov rcx, r14
call fcn.7ff7903c1dd4
mov eax, ebx
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.7ff7901bf100
lea r11, [rsp + 0x550]
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