Function at 0x140037294
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Link many functions at runtime

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x190
mov rax, qword [0x1400d9448]
xor rax, rsp
mov qword [rsp + 0x180], rax
mov r14, rcx
mov dword [r11 - 0x38], 0x4a51476a
mov dword [r11 - 0x34], 0x1a144a40
mov dword [r11 - 0x30], 0x40474e07
xor eax, eax
mov byte [r11 - 0x2c], al
xor r15d, r15d
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x170], al
inc edx
cmp edx, 0xc
jb 0x1400372e9
mov byte [rsp + 0x17c], r15b
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x140037335
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x140037bfd
movdqa xmm0, xmmword [str.sGB_uTHKLYXaHC_BwKQPPGKx_E_INZjHfGWeV_IKbOR]
movdqu xmmword [rsp + 0x128], xmm0
mov word [rsp + 0x138], 0x48
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, 0x11
jb 0x140037353
mov byte [rsp + 0x139], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
mov r12d, 0x10
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [r14 + 8], rax
mov rdx, qword [rsp + 0x158]
mov esi, 0x1000
cmp rdx, r12
jb 0x140037412
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x14003740d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c18
call fcn.1400716ac
test rbx, rbx
je 0x140037c1e
movdqa xmm0, xmmword [0x1400a53b0]
movdqu xmmword [rsp + 0x128], xmm0
mov word [rsp + 0x138], 0x4b43
xor eax, eax
mov byte [rsp + 0x13a], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, 0x12
jb 0x140037442
mov byte [rsp + 0x13a], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [r14 + 0x10], rax
mov rdx, qword [rsp + 0x158]
cmp rdx, r12
jb 0x1400374f6
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x1400374f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c39
call fcn.1400716ac
test rbx, rbx
je 0x140037c3f
movdqa xmm0, xmmword [0x1400a5390]
movdqu xmmword [rsp + 0x128], xmm0
mov word [rsp + 0x138], 0x5650
xor eax, eax
mov byte [rsp + 0x13a], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, 0x12
jb 0x140037526
mov byte [rsp + 0x13a], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [r14 + 0x18], rax
mov rdx, qword [rsp + 0x158]
cmp rdx, r12
jb 0x1400375da
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x1400375d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c5a
call fcn.1400716ac
test rbx, rbx
je 0x140037c60
mov dword [rsp + 0x128], 0x50514b77
mov dword [rsp + 0x12c], 0x694b4750
mov dword [rsp + 0x130], 0x4f444645
mov word [rsp + 0x134], 0x5668
xor eax, eax
mov byte [rsp + 0x136], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, 0xe
jb 0x14003761a
mov byte [rsp + 0x136], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [r14 + 0x20], rax
mov rdx, qword [rsp + 0x158]
cmp rdx, r12
jb 0x1400376ce
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x1400376c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c7b
call fcn.1400716ac
test rbx, rbx
je 0x140037c81
mov dword [rsp + 0x128], 0x50514b77
mov dword [rsp + 0x12c], 0x6e4b4750
mov dword [rsp + 0x130], 0x694e4f5b
mov word [rsp + 0x134], 0x55
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, 0xd
jb 0x140037705
mov byte [rsp + 0x135], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [r14 + 0x28], rax
mov rdx, qword [rsp + 0x158]
cmp rdx, r12
jb 0x1400377b9
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x1400377b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037ca2
call fcn.1400716ac
test rbx, rbx
je 0x140037ca8
mov dword [rsp + 0x128], 0x50514b77
mov dword [rsp + 0x12c], 0x794b4750
mov dword [rsp + 0x130], 0x55594f5c
mov word [rsp + 0x134], 0x5668
xor eax, eax
mov byte [rsp + 0x136], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, 0xe
jb 0x1400377f9
mov byte [rsp + 0x136], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [r14 + 0x30], rax
mov rdx, qword [rsp + 0x158]
cmp rdx, r12
jb 0x1400378ad
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x1400378a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037cc9
call fcn.1400716ac
test rbx, rbx
je 0x140037ccf
movdqa xmm0, xmmword [0x1400a5370]
movdqu xmmword [rsp + 0x128], xmm0
xor eax, eax
mov byte [rsp + 0x138], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, r12d
jb 0x1400378d3
mov byte [rsp + 0x138], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [r14 + 0x68], rax
mov rdx, qword [rsp + 0x158]
cmp rdx, r12
jb 0x140037987
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x140037982
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037cf0
call fcn.1400716ac
test rbx, rbx
je 0x140037cf6
mov dword [rsp + 0x160], 0x56465174
mov dword [rsp + 0x164], 0x4c091416
mov word [rsp + 0x168], 0x4645
xor eax, eax
mov byte [rsp + 0x16a], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xa
jb 0x1400379bc
mov byte [rsp + 0x16a], r15b
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
jne 0x140037a08
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x140037d17
mov dword [rsp + 0x128], 0x404d4b67
mov dword [rsp + 0x12c], 0x4c494f72
mov dword [rsp + 0x130], 0x7c5d46
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, 0xb
jb 0x140037a2c
mov byte [rsp + 0x133], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [r14 + 0xd0], rax
mov rdx, qword [rsp + 0x158]
cmp rdx, r12
jb 0x140037ae3
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x140037ade
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037d38
call fcn.1400716ac
test rdi, rdi
je 0x140037d3e
movdqa xmm0, xmmword [0x1400a5380]
movdqu xmmword [rsp + 0x128], xmm0
xor eax, eax
mov byte [rsp + 0x138], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x21]
xor byte [rsp + rcx + 0x128], al
inc edx
cmp edx, r12d
jb 0x140037b09
mov byte [rsp + 0x138], r15b
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x140]
call fcn.140021b50
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], r12
cmovae rdx, qword [rsp + 0x140]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [r14 + 0xd8], rax
mov rdx, qword [rsp + 0x158]
cmp rdx, r12
jb 0x140037bc0
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, rsi
jb 0x140037bbb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037d5f
call fcn.1400716ac
test rbx, rbx
je 0x140037d65
mov al, 1
jmp 0x140037bcf
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.140071cb0
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
lea rcx, [rsp + 0x20]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0x20]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0x38]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0x38]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0x50]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0x50]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0x68]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0x68]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0x80]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0x80]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0x98]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0x98]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0xb0]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0xb0]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0xc8]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0xc8]
call fcn.140072c14
lea rcx, [rsp + 0xe0]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0xe0]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0xf8]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0xf8]
call fcn.140072c14
call fcn.1400780a4
int3
lea rcx, [rsp + 0x110]
call fcn.1400313bc
lea rdx, [0x1400d6ba8]
lea rcx, [rsp + 0x110]
call fcn.140072c14
int3