Function at 0x1400422dc
Capabilities:
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
mov qword [r11 + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x1d0
mov rax, qword [0x14010c0c0]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
xor r15d, r15d
mov dword [r11 - 0x48], 0x342b3d1c
mov dword [r11 - 0x44], 0x6c6e303e
mov dword [r11 - 0x40], 0xe0d0471
xor eax, eax
mov byte [r11 - 0x3c], al
mov edx, r15d
mov r13b, 0x57
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x1a0], al
inc edx
cmp edx, 0xc
jb 0x140042335
mov byte [rsp + 0x1ac], r15b
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x140042382
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x140042ee8
mov dword [rsp + 0x160], 0x343c2818
mov dword [rsp + 0x164], 0x3d322e0b
mov dword [rsp + 0x168], 0x12133a
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xb
jb 0x1400423a6
mov byte [rsp + 0x16b], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
or rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400423e9
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
mov r12d, reloc.OLEAUT32.dll_SafeArrayDestroy
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1401204c0], rax
mov rdx, qword [rsp + 0x198]
mov r14d, 0x1000
cmp rdx, r12
jbe 0x14004247d
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140042478
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042f03
call fcn.1400826b0
test rbx, rbx
je 0x140042f09
movdqa xmm0, xmmword [0x1400fc4a0]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x1a080634
mov dword [rsp + 0x174], 0x1a020418
xor eax, eax
mov byte [rsp + 0x178], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x18
jb 0x1400424b9
mov byte [rsp + 0x178], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400424f8
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1401204f8], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042580
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x14004257b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042f24
call fcn.1400826b0
test rbx, rbx
je 0x140042f2a
movdqa xmm0, xmmword [str._a69__.mm_b]
movdqu xmmword [rsp + 0x160], xmm0
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, r12d
jb 0x14004259d
mov byte [rsp + 0x16f], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400425dc
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120500], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042664
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x14004265f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042f45
call fcn.1400826b0
test rbx, rbx
je 0x140042f4b
mov dword [rsp + 0x160], 0x39362a07
mov dword [rsp + 0x164], 0x6d2e2f3e
mov dword [rsp + 0x168], 0x1a042e6d
mov word [rsp + 0x16c], 0x3317
xor eax, eax
mov byte [rsp + 0x16e], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xe
jb 0x1400426a4
mov byte [rsp + 0x16e], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400426e3
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120508], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x14004276b
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140042766
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042f66
call fcn.1400826b0
test rbx, rbx
je 0x140042f6c
mov dword [rsp + 0x160], 0x2f3d371a
mov dword [rsp + 0x164], 0x6c6e3937
mov dword [rsp + 0x168], 0x11130919
mov word [rsp + 0x16c], 0x3317
xor eax, eax
mov byte [rsp + 0x16e], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xe
jb 0x1400427ab
mov byte [rsp + 0x16e], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400427ea
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120510], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042872
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x14004286d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042f8d
call fcn.1400826b0
test rbx, rbx
je 0x140042f93
mov dword [rsp + 0x160], 0x2f3d371a
mov dword [rsp + 0x164], 0x6c6e3937
mov dword [rsp + 0x168], 0x16190511
mov word [rsp + 0x16c], 0x34
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xd
jb 0x1400428a9
mov byte [rsp + 0x16d], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400428e8
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120518], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042970
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x14004296b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042fb4
call fcn.1400826b0
test rbx, rbx
je 0x140042fba
movdqa xmm0, xmmword [0x1400fc450]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x23101a08
mov dword [rsp + 0x174], 0x20a05
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x17
jb 0x1400429a3
mov byte [rsp + 0x177], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400429e2
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120520], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042a6a
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140042a65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042fdb
call fcn.1400826b0
test rbx, rbx
je 0x140042fe1
movdqa xmm0, xmmword [0x1400fc3f0]
movdqu xmmword [rsp + 0x160], xmm0
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, r12d
jb 0x140042a87
mov byte [rsp + 0x16f], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140042ac6
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120530], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042b4e
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140042b49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043002
call fcn.1400826b0
test rbx, rbx
je 0x140043008
mov dword [rsp + 0x1b0], 0x3b2f3c16
mov dword [rsp + 0x1b4], 0x6c6e352b
mov dword [rsp + 0x1b8], 0xe0d0471
xor eax, eax
mov byte [rsp + 0x1bc], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x1b0], al
inc edx
cmp edx, 0xc
jb 0x140042b84
mov byte [rsp + 0x1bc], r15b
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
jne 0x140042bd1
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x140043029
movdqa xmm0, xmmword [0x1400fc430]
movdqu xmmword [rsp + 0x160], xmm0
xor eax, eax
mov byte [rsp + 0x170], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x10
jb 0x140042bee
mov byte [rsp + 0x170], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140042c2d
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [0x140120538], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042cb5
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140042cb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004304a
call fcn.1400826b0
test rdi, rdi
je 0x140043050
movdqa xmm0, xmmword [0x1400fc460]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0xf0e0d0b
mov word [rsp + 0x174], reloc.OLEAUT32.dll_SafeArrayGetElement
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x15
jb 0x140042ce7
mov byte [rsp + 0x175], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140042d26
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [0x140120548], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042dae
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140042da9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043071
call fcn.1400826b0
test rdi, rdi
je 0x140043077
movdqa xmm0, xmmword [str.e761.__r_6]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0xf1c0406
mov word [rsp + 0x174], 0x3c
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + r13]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x15
jb 0x140042de0
mov byte [rsp + 0x175], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
inc rsi
cmp byte [rax + rsi], r15b
jne 0x140042e1c
mov r8, rsi
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140010a04
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120540], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140042ea7
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140042ea2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043098
call fcn.1400826b0
test rbx, rbx
je 0x14004309e
mov al, 1
jmp 0x140042eb6
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.140082690
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
lea rcx, [rsp + 0x28]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x28]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0x40]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x40]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0x58]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x58]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0x70]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x70]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0x88]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x88]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0xa0]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0xa0]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0xb8]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0xb8]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0xd0]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0xd0]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0xe8]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0xe8]
call fcn.140084840
lea rcx, [rsp + 0x100]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x100]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0x118]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x118]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0x130]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x130]
call fcn.140084840
call fcn.1400897a0
int3
lea rcx, [rsp + 0x148]
call fcn.140041980
lea rdx, [0x14010a618]
lea rcx, [rsp + 0x148]
call fcn.140084840
int3