Function at 0x180051050
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov word [rsp + 0x18], r8w
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3e0]
sub rsp, 0x4e0
cmp byte [rcx + 0x7d], 4
movzx esi, r8w
mov r12, rdx
mov r13, rcx
jne 0x180051a62
mov rax, qword gs:[0x58]
xor r14d, r14d
mov r9d, dword [0x18039b468]
mov edi, 4
mov rbx, qword [rax + r9*8]
add rbx, rdi
lea rdi, [0x18039d520]
mov eax, dword [rbx]
cmp dword [0x1803a1aa0], eax
jle 0x1800511fc
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x1800511fc
xorps xmm0, xmm0
mov qword [0x18039d528], r14
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
xor r8d, r8d
movdqa xmmword [0x18039d540], xmm1
xor edx, edx
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r14
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r14
mov word [0x18039f2ec], r14w
mov word [0x1803a1034], r14w
mov qword [0x1803a1048], r14
mov qword [0x1803a1050], r14
call fcn.180354570
lea rcx, [0x1803a1068]
mov qword [0x1803a1048], rax
mov dword [0x1803a1038], r14d
mov qword [0x1803a1040], r14
call fcn.180001990
xor r8d, r8d
mov qword [0x1803a1078], r14
xor edx, edx
mov qword [0x1803a1080], r14
call fcn.180354520
xorps xmm0, xmm0
mov qword [0x1803a1078], rax
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a10a0], r14
mov qword [0x1803a1058], r14
mov qword [0x1803a1060], r14
mov byte [0x1803a1070], r14b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r14d
mov qword [0x1803a14c0], r14
mov qword [0x1803a14c8], r14
mov byte [0x1803a14d0], r14b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004de20
mov eax, dword [rbx]
cmp dword [0x1803a1aa0], eax
jle 0x180051351
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x180051351
xorps xmm0, xmm0
mov qword [0x18039d528], r14
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
xor r8d, r8d
movdqa xmmword [0x18039d540], xmm1
xor edx, edx
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r14
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r14
mov word [0x18039f2ec], r14w
mov word [0x1803a1034], r14w
mov qword [0x1803a1048], r14
mov qword [0x1803a1050], r14
call fcn.180354570
lea rcx, [0x1803a1068]
mov qword [0x1803a1048], rax
mov dword [0x1803a1038], r14d
mov qword [0x1803a1040], r14
call fcn.180001990
xor r8d, r8d
mov qword [0x1803a1078], r14
xor edx, edx
mov qword [0x1803a1080], r14
call fcn.180354520
xorps xmm0, xmm0
mov qword [0x1803a1078], rax
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a10a0], r14
mov qword [0x1803a1058], r14
mov qword [0x1803a1060], r14
mov byte [0x1803a1070], r14b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r14d
mov qword [0x1803a14c0], r14
mov qword [0x1803a14c8], r14
mov byte [0x1803a14d0], r14b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov edx, dword [r13 + 0x84]
mov rcx, rdi
call fcn.18004e480
mov r15, rax
test rax, rax
je 0x180051902
mov ecx, dword [r13 + 0x1b4]
rol si, 8
bswap ecx
mov dword [rsp + 0x64], ecx
mov word [rbp + 0x438], si
mov edx, r14d
cmp byte [r12], r14b
je 0x180051398
nop dword [rax]
inc edx
cmp byte [rdx + r12], r14b
jne 0x180051390
mov esi, 2
mov qword [rsp + 0x30], rsi
mov qword [rbp + 0x420], r14
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], 3
mov qword [rbp + 0x420], 1
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rbp + 0x420], rcx
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x38]
inc rax
add rcx, rax
add rdx, rcx
lea rcx, [rbp - 0x60]
call fcn.180351c70
mov qword [rsp + 0x38], r14
mov edi, 4
mov qword [rbp + 0x420], rdi
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x38]
add rcx, rax
lea rax, [rsp + 0x64]
mov qword [rbp + 0x420], rcx
lea rcx, [rsp + 0x64]
mov rdx, qword [rbp + 0x420]
mov r8, qword [rbp - 0x60]
sub r8, rax
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [r8 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180051450
mov qword [rsp + 0x38], rdi
mov qword [rbp + 0x420], r14
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x38]
add rcx, rax
mov qword [rbp + 0x420], rcx
mov rcx, qword [rbp + 0x420]
movzx eax, byte [rbp + 0x438]
mov rdx, qword [rbp - 0x60]
mov byte [rdx + rcx], al
movzx eax, byte [rbp + 0x439]
mov byte [rdx + rcx + 1], al
mov qword [rsp + 0x38], r14
mov qword [rbp + 0x420], rdi
mov rdi, r12
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x38]
add rcx, rax
mov qword [rbp + 0x420], rcx
mov rdx, qword [rbp + 0x420]
mov qword [rsp + 0x38], 1
mov qword [rbp + 0x420], 1
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x38]
add rcx, rax
mov qword [rbp + 0x420], rcx
mov rcx, qword [rbp + 0x420]
mov r9, qword [rbp - 0x60]
add rcx, r9
add rcx, rdx
nop word [rax + rax]
movzx eax, byte [rdi]
lea rdi, [rdi + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180051510
mov edx, r14d
cmp byte [r12], r14b
je 0x180051538
nop word [rax + rax]
inc edx
cmp byte [rdx + r12], r14b
jne 0x180051530
mov qword [rsp + 0x38], r14
mov qword [rbp + 0x420], rsi
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x38]
add rcx, rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], 3
mov qword [rbp + 0x420], 1
mov rcx, qword [rbp + 0x420]
mov rax, qword [rsp + 0x38]
add rcx, rax
mov qword [rbp + 0x420], rcx
mov rcx, r15
mov r8, qword [rbp + 0x420]
mov rax, qword [rsp + 0x30]
add r8w, ax
add r8w, dx
mov dl, 9
call fcn.180046dd0
mov eax, dword [rbx]
cmp dword [0x1803a1aa0], eax
jle 0x1800516f6
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
lea rdi, [0x18039d520]
jne 0x1800516fd
xorps xmm0, xmm0
mov qword [0x18039d528], r14
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
xor r8d, r8d
movdqa xmmword [0x18039d540], xmm1
xor edx, edx
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r14
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r14
mov word [0x18039f2ec], r14w
mov word [0x1803a1034], r14w
mov qword [0x1803a1048], r14
mov qword [0x1803a1050], r14
call fcn.180354570
lea rcx, [0x1803a1068]
mov qword [0x1803a1048], rax
mov dword [0x1803a1038], r14d
mov qword [0x1803a1040], r14
call fcn.180001990
xor r8d, r8d
mov qword [0x1803a1078], r14
xor edx, edx
mov qword [0x1803a1080], r14
call fcn.180354520
xorps xmm0, xmm0
mov qword [0x1803a1078], rax
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a10a0], r14
mov qword [0x1803a1058], r14
mov qword [0x1803a1060], r14
mov byte [0x1803a1070], r14b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r14d
mov qword [0x1803a14c0], r14
mov qword [0x1803a14c8], r14
mov byte [0x1803a14d0], r14b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
jmp 0x1800516fd
lea rdi, [0x18039d520]
mov rdx, qword [0x18039d530]
cmp qword [0x18039d538], rdx
mov eax, dword [r13 + 0x1b4]
mov qword [rbp - 0x68], r13
mov dword [rsp + 0x68], eax
je 0x180051728
mov dword [rdx], eax
add qword [0x18039d530], 4
jmp 0x180051739
lea r8, [rsp + 0x68]
lea rcx, [0x18039d528]
call fcn.180355ca0
mov rdx, qword [0x18039d548]
cmp qword [0x18039d550], rdx
je 0x180051756
mov qword [rdx], r13
add qword [0x18039d548], 8
jmp 0x180051766
lea r8, [rbp - 0x68]
lea rcx, [0x18039d540]
call fcn.180355af0
mov eax, dword [rbx]
cmp dword [0x1803a1aa0], eax
jle 0x1800518b3
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x1800518b3
xorps xmm0, xmm0
mov qword [0x18039d528], r14
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
xor r8d, r8d
movdqa xmmword [0x18039d540], xmm1
xor edx, edx
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r14
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r14
mov word [0x18039f2ec], r14w
mov word [0x1803a1034], r14w
mov qword [0x1803a1048], r14
mov qword [0x1803a1050], r14
call fcn.180354570
lea rcx, [0x1803a1068]
mov qword [0x1803a1048], rax
mov dword [0x1803a1038], r14d
mov qword [0x1803a1040], r14
call fcn.180001990
xor r8d, r8d
mov qword [0x1803a1078], r14
xor edx, edx
mov qword [0x1803a1080], r14
call fcn.180354520
xorps xmm0, xmm0
mov qword [0x1803a1078], rax
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a10a0], r14
mov qword [0x1803a1058], r14
mov qword [0x1803a1060], r14
mov byte [0x1803a1070], r14b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r14d
mov qword [0x1803a14c0], r14
mov qword [0x1803a14c8], r14
mov byte [0x1803a14d0], r14b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
lea rcx, [0x1803a1068]
call fcn.180001ae0
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x18005230a
mov rdx, qword [rbp - 0x50]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1800518f8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180052325
call fcn.180360d9c
jmp 0x18005230a
mov eax, dword [rbx]
cmp dword [0x1803a1aa0], eax
jle 0x180051a4f
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x180051a4f
xorps xmm0, xmm0
mov qword [0x18039d528], r14
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
xor r8d, r8d
movdqa xmmword [0x18039d540], xmm1
xor edx, edx
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r14
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r14
mov word [0x18039f2ec], r14w
mov word [0x1803a1034], r14w
mov qword [0x1803a1048], r14
mov qword [0x1803a1050], r14
call fcn.180354570
lea rcx, [0x1803a1068]
mov qword [0x1803a1048], rax
mov dword [0x1803a1038], r14d
mov qword [0x1803a1040], r14
call fcn.180001990
xor r8d, r8d
mov qword [0x1803a1078], r14
xor edx, edx
mov qword [0x1803a1080], r14
call fcn.180354520
xorps xmm0, xmm0
mov qword [0x1803a1078], rax
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a10a0], r14
mov qword [0x1803a1058], r14
mov qword [0x1803a1060], r14
mov byte [0x1803a1070], r14b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r14d
mov qword [0x1803a14c0], r14
mov qword [0x1803a14c8], r14
mov byte [0x1803a14d0], r14b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
lea rcx, [0x1803a1068]
call fcn.180001ae0
mov dl, 0x5c
jmp 0x1800522f9
movzx eax, byte [rcx + 0x182]
add rcx, 0x90
xor edx, edx
mov byte [rbp + 0x420], al
call fcn.18000b380
movzx edx, byte [r12]
lea r9, [rsp + 0x40]
xor r14d, r14d
mov qword [rsp + 0x78], 0x14
mov rdi, r12
lea r10d, [r14 + 0x61]
nop word [rax + rax]
lea eax, [rdx - 0x30]
mov r15d, 4
movabs r11, 0x100003e01
cmp al, 9
ja 0x180051c35
mov ebx, r14d
mov r8d, 0xa
mov ecx, r14d
cmp dl, 0x30
jne 0x180051af0
movzx edx, byte [rdi + 1]
inc rdi
lea eax, [rdx - 0x58]
test al, 0xdf
je 0x180051ae4
lea ecx, [r8 - 9]
lea r8d, [rcx + 7]
jmp 0x180051af0
mov r8d, 0x10
inc rdi
movzx edx, byte [rdi]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180051b20
cmp r8d, 8
jne 0x180051b08
lea eax, [rdx - 0x38]
cmp al, 1
jbe 0x180051c35
mov ecx, r8d
imul ecx, ebx
movsx ebx, dl
add ebx, 0xffffffd0
add ebx, ecx
mov ecx, 1
inc rdi
jmp 0x180051aed
cmp r8d, 0x10
jne 0x180051b64
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x180051b3b
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x180051b3b
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x180051b64
lea eax, [rdx - 0x61]
mov ecx, 0x41
cmp al, 0x19
movsx edx, dl
mov eax, ebx
cmovbe ecx, r10d
shl eax, 4
sub edx, ecx
mov ecx, 1
add edx, 0xa
mov ebx, edx
or ebx, eax
inc rdi
jmp 0x180051aed
cmp dl, 0x2e
jne 0x180051b95
lea rax, [rsp + 0x43]
cmp r9, rax
jae 0x180051c35
cmp ebx, 0xff
ja 0x180051c35
movzx edx, byte [rdi + 1]
mov byte [r9], bl
inc r9
inc rdi
jmp 0x180051aa0
cmp dl, 0x20
ja 0x180051c35
bt r11, rdx
jae 0x180051c35
test ecx, ecx
je 0x180051c35
lea rax, [rsp + 0x40]
sub r9d, eax
inc r9d
sub r9d, 2
je 0x180051c13
sub r9d, 1
je 0x180051bf5
cmp r9d, 1
jne 0x180051c25
cmp ebx, 0xff
ja 0x180051c35
movzx eax, byte [rsp + 0x41]
movzx ecx, byte [rsp + 0x40]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x42]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ebx, ecx
jmp 0x180051c25
cmp ebx, 0xffff
ja 0x180051c35
movzx ecx, byte [rsp + 0x40]
movzx eax, byte [rsp + 0x41]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or ebx, ecx
jmp 0x180051c25
cmp ebx, 0xffffff
ja 0x180051c35
movzx eax, byte [rsp + 0x40]
shl eax, 0x18
or ebx, eax
bswap ebx
mov dword [rbp - 0x70], ebx
cmp ebx, 0xffffffff
jne 0x180052055
jmp 0x180051c3a
mov ebx, 0xffffffff
mov rax, qword [0x18039c688]
test rax, rax
jne 0x180051d68
mov byte [rsp + 0x5f], al
mov dword [rsp + 0x51], 0x73636238
mov dword [rsp + 0x55], 0x7f796660
mov dword [rsp + 0x59], 0x6e60746e
mov word [rsp + 0x5d], 0x747d
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add cl, 5
xor cl, byte [rsp + rax + 0x52]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x52], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0xd
jb 0x180051c80
mov byte [rsp + 0x5f], r14b
call fcn.180001750
mov rcx, qword gs:[0x58]
mov rsi, rax
mov edi, dword [0x18039b468]
mov edx, r15d
mov rdi, qword [rcx + rdi*8]
add rdi, rdx
mov ecx, dword [rdi]
cmp dword [0x18039d510], ecx
jle 0x180051d11
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180051d11
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rdi]
cmp dword [0x1803a1558], eax
jle 0x180051d4a
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180051d4a
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rsi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x52]
call qword [0x1803a1560]
mov qword [0x18039c688], rax
mov rcx, r12
call rax
test rax, rax
je 0x180052055
mov rax, qword [rax + 0x18]
lea rdi, [0x1803a1568]
xor bl, bl
mov rsi, r14
mov r12d, 0x57
mov rcx, qword [rax]
mov eax, dword [rcx]
mov dword [rsp + 0x70], eax
mov byte [0x1803a1568], bl
nop dword [rax + rax]
movzx ecx, byte [rsp + rsi + 0x70]
lea r9, [rsp + 0x60]
nop word [rax + rax]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov eax, 0x30
cmp ecx, 0xa
cmovge eax, r12d
add al, cl
mov ecx, edx
mov byte [r9], al
inc r9
test edx, edx
jg 0x180051db0
lea rax, [rsp + 0x60]
mov byte [r9], r14b
sub r9d, eax
mov r10d, r14d
mov r11d, r9d
shr r11d, 1
je 0x180051e29
lea r8, [rsp + 0x60]
nop word [rax + rax]
movzx edx, byte [r8]
lea rcx, [rsp + 0x60]
mov eax, r9d
lea r8, [r8 + 1]
sub eax, r10d
inc r10d
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r8 - 1], al
mov byte [rcx], dl
cmp r10d, r11d
jb 0x180051e00
mov ecx, r14d
test bl, bl
je 0x180051e38
inc ecx
cmp byte [rcx + rdi], r14b
jne 0x180051e30
lea rdx, [rsp + 0x60]
add rcx, rdi
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180051e40
cmp rsi, 3
jge 0x180051e90
cmp byte [0x1803a1568], r14b
mov ecx, r14d
je 0x180051e6a
inc ecx
cmp byte [rcx + rdi], r14b
jne 0x180051e62
lea rdx, [0x18038e6ac]
add rcx, rdi
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180051e80
inc rsi
cmp rsi, 4
jge 0x180051ea5
movzx ebx, byte [0x1803a1568]
jmp 0x180051da0
movzx edx, byte [0x1803a1568]
lea r9, [rsp + 0x44]
mov r10d, 0x61
nop word [rax + rax]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180052050
mov ebx, r14d
mov r8d, 0xa
mov ecx, r14d
cmp dl, 0x30
jne 0x180051f00
movzx edx, byte [rdi + 1]
inc rdi
lea eax, [rdx - 0x58]
test al, 0xdf
je 0x180051ef4
lea ecx, [r8 - 9]
lea r8d, [rcx + 7]
jmp 0x180051f00
mov r8d, 0x10
inc rdi
movzx edx, byte [rdi]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180051f30
cmp r8d, 8
jne 0x180051f18
lea eax, [rdx - 0x38]
cmp al, 1
jbe 0x180052050
mov ecx, r8d
imul ecx, ebx
movsx ebx, dl
add ebx, 0xffffffd0
add ebx, ecx
mov ecx, 1
inc rdi
jmp 0x180051efd
cmp r8d, 0x10
jne 0x180051f74
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x180051f4b
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x180051f4b
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x180051f74
lea eax, [rdx - 0x61]
mov ecx, 0x41
cmp al, 0x19
movsx edx, dl
mov eax, ebx
cmovbe ecx, r10d
shl eax, 4
sub edx, ecx
mov ecx, 1
add edx, 0xa
mov ebx, edx
or ebx, eax
inc rdi
jmp 0x180051efd
cmp dl, 0x2e
jne 0x180051fa5
lea rax, [rsp + 0x47]
cmp r9, rax
jae 0x180052050
cmp ebx, 0xff
ja 0x180052050
movzx edx, byte [rdi + 1]
mov byte [r9], bl
inc r9
inc rdi
jmp 0x180051ec0
cmp dl, 0x20
ja 0x180052050
movabs rax, 0x100003e01
bt rax, rdx
jae 0x180052050
test ecx, ecx
je 0x180052050
lea rax, [rsp + 0x44]
sub r9d, eax
inc r9d
sub r9d, 2
je 0x180052037
sub r9d, 1
je 0x180052014
cmp r9d, 1
jne 0x180052049
cmp ebx, 0xff
ja 0x180052050
movzx eax, byte [rsp + 0x45]
movzx ecx, byte [rsp + 0x44]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x46]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ebx, ecx
bswap ebx
mov dword [rbp - 0x6c], ebx
jmp 0x180052055
cmp ebx, 0xffff
ja 0x180052050
movzx ecx, byte [rsp + 0x44]
movzx eax, byte [rsp + 0x45]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or ebx, ecx
bswap ebx
mov dword [rbp - 0x6c], ebx
jmp 0x180052055
cmp ebx, 0xffffff
ja 0x180052050
movzx eax, byte [rsp + 0x44]
shl eax, 0x18
or ebx, eax
bswap ebx
mov dword [rbp - 0x6c], ebx
jmp 0x180052055
mov ebx, 0xffffffff
movzx eax, word [rbp + 0x430]
lea rdi, [rbp - 0x78]
rol ax, 8
mov esi, 2
mov word [rbp - 0x7e], ax
mov word [rbp - 0x80], si
mov dword [rbp - 0x7c], ebx
mov qword [rsp + 0x30], 6
mov qword [rsp + 0x38], rsi
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
add rcx, rax
xor eax, eax
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x38]
rep stosb byte [rdi], al
mov rax, qword [0x18039c6f8]
test rax, rax
jne 0x1800521b9
mov byte [rsp + 0x50], al
mov dword [rsp + 0x48], 0x383a37af
mov dword [rsp + 0x4c], 0x2e3a3d39
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x30]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add cl, 0x54
xor cl, byte [rsp + rax + 0x49]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x49], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 7
jb 0x1800520d0
mov byte [rsp + 0x50], r14b
call fcn.180001750
mov r8d, dword [0x18039b468]
mov rbx, rax
mov rdx, qword gs:[0x58]
mov edi, r15d
mov rdx, qword [rdx + r8*8]
add rdi, rdx
mov edx, dword [rdi]
cmp dword [0x18039d510], edx
jle 0x180052162
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180052162
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rdi]
cmp dword [0x1803a1558], eax
jle 0x18005219b
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18005219b
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rbx
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x49]
call qword [0x1803a1560]
mov qword [0x18039c6f8], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x30], 0xf
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
add rdx, rcx
mov qword [rsp + 0x38], rdx
lea rdx, [rbp - 0x80]
mov r8, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x90]
call rax
mov rdx, qword [r13 + 0x90]
lea rcx, [rbp + 0x1d0]
mov qword [rbp - 0x38], rdx
lea rax, [rbp - 0x40]
mov dword [rbp - 0x40], 1
mov edi, 4
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdi, 1
jne 0x180052211
mov rax, qword [rax]
lea r9, [rbp + 0x1d0]
mov qword [rcx], rax
lea r8, [rbp - 0x40]
lea ecx, [rdx + 1]
xor edx, edx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.180009ec0
cmp eax, 1
jne 0x1800522c7
mov rcx, qword [r13 + 0x90]
lea rdx, [rbp - 0x40]
call fcn.18000a030
mov rcx, qword [r13 + 0x90]
lea rdx, [rbp + 0x1d0]
test eax, eax
mov esi, 0xffffffff
mov edi, esi
cmovne edi, r14d
call fcn.18000a030
test eax, eax
cmovne edi, esi
mov esi, edi
jmp 0x1800522cc
mov esi, 0xffffffff
movzx edx, byte [rbp + 0x420]
lea rcx, [r13 + 0x90]
call fcn.18000b380
test esi, esi
jne 0x1800522f7
mov dl, 0x5a
mov rcx, r13
call fcn.180052330
mov dword [r13 + 0x78], 8
jmp 0x18005230a
mov dl, 0x5b
mov rcx, r13
call fcn.180052330
mov rcx, qword [r13 + 0x20]
call fcn.18000b220
mov rbx, qword [rsp + 0x528]
add rsp, 0x4e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1803687c0
int3