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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
push r14
sub rsp, 0x1d0
mov rax, qword [0x1400de0c0]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
xor r14d, r14d
mov dword [r11 - 0x38], 0x45584c63
mov dword [r11 - 0x34], 0x1d1d4149
mov dword [r11 - 0x30], 0x5f5e551e
xor eax, eax
mov byte [r11 - 0x2c], al
mov ecx, r14d
mov edx, r14d
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x1a0], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xc
jb 0x140031681
mov byte [rsp + 0x1ac], 0
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x1400316ce
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x14003232a
mov dword [rsp + 0x160], 0x454f5967
mov dword [rsp + 0x164], 0x4c415f7c
mov dword [rsp + 0x168], 0x414255
mov ecx, r14d
mov rdx, r14
nop word [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xb
jb 0x140031700
mov byte [rsp + 0x16b], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140031750
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1b40], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x1400317df
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400317da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032345
call fcn.140078e00
test rsi, rsi
je 0x14003234b
movdqa xmm0, xmmword [str.k_OJXHz___ZVXE]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x4b5b576b
mov dword [rsp + 0x174], 0x4b51554f
xor eax, eax
mov byte [rsp + 0x178], al
mov ecx, r14d
mov rdx, r14
nop
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x18
jb 0x140031820
mov byte [rsp + 0x178], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140031863
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1b78], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x1400318f2
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400318ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032366
call fcn.140078e00
test rsi, rsi
je 0x14003236c
movdqa xmm0, xmmword [str.x_EHI_]
movdqu xmmword [rsp + 0x160], xmm0
mov ecx, r14d
mov rdx, r14
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xf
jb 0x140031920
mov byte [rsp + 0x16f], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140031963
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1b80], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x1400319f2
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400319ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032387
call fcn.140078e00
test rsi, rsi
je 0x14003238d
mov dword [rsp + 0x160], 0x48455b78
mov dword [rsp + 0x164], 0x1c5d5e49
mov dword [rsp + 0x168], 0x4b577f02
mov word [rsp + 0x16c], 0x6240
xor eax, eax
mov byte [rsp + 0x16e], al
mov ecx, r14d
mov rdx, r14
nop word [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xe
jb 0x140031a40
mov byte [rsp + 0x16e], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140031a83
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1b88], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x140031b12
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031b0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323a8
call fcn.140078e00
test rsi, rsi
je 0x1400323ae
mov dword [rsp + 0x160], 0x5e4e4665
mov dword [rsp + 0x164], 0x1d1d4840
mov dword [rsp + 0x168], 0x40405876
mov word [rsp + 0x16c], 0x6240
xor eax, eax
mov byte [rsp + 0x16e], al
mov ecx, r14d
mov rdx, r14
nop word [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xe
jb 0x140031b60
mov byte [rsp + 0x16e], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140031ba3
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1b90], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x140031c32
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031c2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323cf
call fcn.140078e00
test rsi, rsi
je 0x1400323d5
mov dword [rsp + 0x160], 0x5e4e4665
mov dword [rsp + 0x164], 0x1d1d4840
mov dword [rsp + 0x168], 0x474a547e
mov word [rsp + 0x16c], 0x63
mov ecx, r14d
mov rdx, r14
nop dword [rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xd
jb 0x140031c70
mov byte [rsp + 0x16d], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140031cb3
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1b98], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x140031d42
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031d3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323f6
call fcn.140078e00
test rsi, rsi
je 0x1400323fc
movdqa xmm0, xmmword [0x1400ce340]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x72434b57
mov dword [rsp + 0x174], 0x515b52
mov ecx, r14d
mov rdx, r14
nop dword [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x17
jb 0x140031d80
mov byte [rsp + 0x177], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140031dc3
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1ba0], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x140031e52
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031e4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003241d
call fcn.140078e00
test rsi, rsi
je 0x140032423
movdqa xmm0, xmmword [0x1400ce2b0]
movdqu xmmword [rsp + 0x160], xmm0
mov ecx, r14d
mov rdx, r14
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xf
jb 0x140031e80
mov byte [rsp + 0x16f], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140031ec3
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [0x1400e1bb0], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x140031f52
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031f4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032444
call fcn.140078e00
test rdi, rdi
je 0x14003244a
mov dword [rsp + 0x1b0], 0x4a5c4d69
mov dword [rsp + 0x1b4], 0x1d1d445c
mov dword [rsp + 0x1b8], 0x5f5e551e
xor eax, eax
mov byte [rsp + 0x1bc], al
mov ecx, r14d
mov rdx, r14
nop dword [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x1b0], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xc
jb 0x140031f90
mov byte [rsp + 0x1bc], 0
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x140031fdd
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x14003246b
movdqa xmm0, xmmword [0x1400ce330]
movdqu xmmword [rsp + 0x160], xmm0
xor eax, eax
mov byte [rsp + 0x170], al
mov ecx, r14d
mov rdx, r14
nop dword [rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x10
jb 0x140032000
mov byte [rsp + 0x170], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140032043
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1bb8], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x1400320d2
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400320cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003248c
call fcn.140078e00
test rsi, rsi
je 0x140032492
movdqa xmm0, xmmword [0x1400ce350]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x5e5d5c54
mov word [rsp + 0x174], 0x4f
mov ecx, r14d
mov rdx, r14
nop word [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x15
jb 0x140032110
mov byte [rsp + 0x175], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140032153
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [0x1400e1bc8], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x1400321e2
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400321dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400324b3
call fcn.140078e00
test rsi, rsi
je 0x1400324b9
movdqa xmm0, xmmword [0x1400ce360]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x5e4f5559
mov word [rsp + 0x174], 0x6b
mov ecx, r14d
mov rdx, r14
nop word [rax + rax]
lea eax, [rcx + 0x28]
xor byte [rsp + rdx + 0x160], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x15
jb 0x140032220
mov byte [rsp + 0x175], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
lea rax, [rsp + 0x160]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140032260
mov r8, rbx
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.1400159a0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 0xf
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1400e1bc0], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, 0xf
jbe 0x1400322f1
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400322ec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400324da
call fcn.140078e00
test rbx, rbx
je 0x1400324e0
mov al, 1
jmp 0x140032300
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.140078de0
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop r14
ret
lea rcx, [rsp + 0x28]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x28]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0x40]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x40]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0x58]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x58]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0x70]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x70]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0x88]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x88]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0xa0]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0xa0]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0xb8]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0xb8]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0xd0]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0xd0]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0xe8]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0xe8]
call fcn.14007af90
lea rcx, [rsp + 0x100]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x100]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0x118]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x118]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0x130]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x130]
call fcn.14007af90
call fcn.14007fef0
int3
lea rcx, [rsp + 0x148]
call fcn.140030910
lea rdx, [0x1400dc678]
lea rcx, [rsp + 0x148]
call fcn.14007af90
int3