Function at 0x401000
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
sub rsp, 0x118
mov rax, qword [0x0040f058]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov qword [r11 - 0x10], rbp
mov qword [r11 - 0x18], rsi
mov qword [r11 - 0x20], rdi
mov rdi, rcx
lea rcx, [r11 - 0x48]
mov word [r11 - 0x48], 0x57
mov word [r11 - 0x46], 0x69
mov word [r11 - 0x44], 0x6e
mov word [r11 - 0x42], 0x68
mov word [r11 - 0x40], 0x74
mov word [r11 - 0x3e], 0x74
mov word [r11 - 0x3c], 0x70
mov word [r11 - 0x3a], 0x2e
mov word [r11 - 0x38], 0x64
mov word [r11 - 0x36], 0x6c
mov word [r11 - 0x34], 0x6c
mov word [r11 - 0x32], 0
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor ecx, ecx
mov byte [rsp + 0x20], 0xe
mov byte [rsp + 0x21], 0x21
mov rsi, rax
mov byte [rsp + 0x22], 0x1a
mov byte [rsp + 0x23], 0x26
lea r9d, [rcx + 0xb]
mov byte [rsp + 0x24], 0x21
mov byte [rsp + 0x25], 0x18
mov byte [rsp + 0x26], 0
mov byte [rsp + 0x27], 0x77
mov byte [rsp + 0x28], 0x3b
mov byte [rsp + 0x29], 0x21
mov byte [rsp + 0x2a], 0x37
mov byte [rsp + 0x2b], 0
xor edx, edx
lea r8, [rsp + 0x20]
lea rbp, str.YHtnUlp8KD
nop
cmp ecx, 0xa
jne 0x4010e9
xor ecx, ecx
xor edx, edx
movzx eax, byte [rdx + rbp]
add r8, 1
add ecx, 1
xor byte [r8 - 1], al
add rdx, 1
sub r9, 1
jne 0x4010e0
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x30], 0xe
mov byte [rsp + 0x31], 0x21
mov byte [rsp + 0x32], 0x1a
mov byte [rsp + 0x33], 0x26
lea r9d, [rcx + 0xe]
mov qword [rdi], rax
mov byte [rsp + 0x34], 0x21
mov byte [rsp + 0x35], 0x18
mov byte [rsp + 0x36], 0
mov byte [rsp + 0x37], 0x7b
mov byte [rsp + 0x38], 0x24
mov byte [rsp + 0x39], 0x2a
mov byte [rsp + 0x3a], 0x37
mov byte [rsp + 0x3b], 0x2d
mov byte [rsp + 0x3c], 0x17
mov byte [rsp + 0x3d], 0x1a
mov byte [rsp + 0x3e], 0
xor edx, edx
lea r8, [rsp + 0x30]
nop
nop
cmp ecx, 0xa
jne 0x401179
xor ecx, ecx
xor edx, edx
movzx eax, byte [rdx + rbp]
add r8, 1
add ecx, 1
xor byte [r8 - 1], al
add rdx, 1
sub r9, 1
jne 0x401170
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x110], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, 0x12
xor ecx, ecx
mov byte [rsp + 0x68], 0xe
mov byte [rsp + 0x69], 0x21
mov byte [rsp + 0x6a], 0x1a
mov qword [rdi + 0x18], rax
mov byte [rsp + 0x6b], 0x26
mov byte [rsp + 0x6c], 0x21
mov byte [rsp + 0x6d], 0x18
mov byte [rsp + 0x6e], 0
mov byte [rsp + 0x6f], 0x77
mov byte [rsp + 0x70], 0x3b
mov byte [rsp + 0x71], 0x21
mov byte [rsp + 0x72], 0x37
mov byte [rsp + 0x73], 0x1a
mov byte [rsp + 0x74], 0x11
mov byte [rsp + 0x75], 0x1f
mov byte [rsp + 0x76], 0x20
mov byte [rsp + 0x77], 9
mov byte [rsp + 0x78], 3
mov byte [rsp + 0x79], 0x4c
mov byte [rsp + 0x7a], 0
xor edx, edx
lea r8, [rsp + 0x68]
mov r9, rbx
nop
cmp ecx, 0xa
jne 0x401229
xor ecx, ecx
xor edx, edx
movzx eax, byte [rdx + rbp]
add r8, 1
add ecx, 1
xor byte [r8 - 1], al
add rdx, 1
sub r9, 1
jne 0x401220
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x50], 0xe
mov byte [rsp + 0x51], 0x21
mov byte [rsp + 0x52], 0x1a
mov byte [rsp + 0x53], 0x26
mov qword [rdi + 0x38], rax
mov byte [rsp + 0x54], 0x21
mov byte [rsp + 0x55], 0x18
mov byte [rsp + 0x56], 0
mov byte [rsp + 0x57], 0x6b
mov byte [rsp + 0x58], 0x2e
mov byte [rsp + 0x59], 0x2a
mov byte [rsp + 0x5a], 0x3d
mov byte [rsp + 0x5b], 0x1a
mov byte [rsp + 0x5c], 0x11
mov byte [rsp + 0x5d], 0x1f
mov byte [rsp + 0x5e], 0x20
mov byte [rsp + 0x5f], 9
mov byte [rsp + 0x60], 3
mov byte [rsp + 0x61], 0x4c
mov byte [rsp + 0x62], 0
xor edx, edx
lea r8, [rsp + 0x50]
mov r9, rbx
nop
cmp ecx, 0xa
jne 0x4012c9
xor ecx, ecx
xor edx, edx
movzx eax, byte [rdx + rbp]
add r8, 1
add ecx, 1
xor byte [r8 - 1], al
add rdx, 1
sub r9, 1
jne 0x4012c0
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x98], 0xe
mov byte [rsp + 0x99], 0x21
mov byte [rsp + 0x9a], 0x1a
mov byte [rsp + 0x9b], 0x26
lea r9d, [rcx + 0x16]
mov qword [rdi + 0x58], rax
mov byte [rsp + 0x9c], 0x21
mov byte [rsp + 0x9d], 0x18
mov byte [rsp + 0x9e], 0
mov byte [rsp + 0x9f], 0x6a
mov byte [rsp + 0xa0], 0x2e
mov byte [rsp + 0xa1], 0x27
mov byte [rsp + 0xa2], 0x3c
mov byte [rsp + 0xa3], 0x21
mov byte [rsp + 0xa4], 2
mov byte [rsp + 0xa5], 0xb
mov byte [rsp + 0xa6], 7
mov byte [rsp + 0xa7], 9
mov byte [rsp + 0xa8], 3
mov byte [rsp + 0xa9], 0x48
mov byte [rsp + 0xaa], 0x24
mov byte [rsp + 0xab], 0x2a
mov byte [rsp + 0xac], 0x2a
mov byte [rsp + 0xad], 0x2d
mov byte [rsp + 0xae], 0
xor edx, edx
lea r8, [rsp + 0x98]
nop
cmp ecx, 0xa
jne 0x4013c9
xor ecx, ecx
xor edx, edx
movzx eax, byte [rdx + rbp]
add r8, 1
add ecx, 1
xor byte [r8 - 1], al
add rdx, 1
sub r9, 1
jne 0x4013c0
lea rdx, [rsp + 0x98]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0xb0], 0xe
mov byte [rsp + 0xb1], 0x21
mov byte [rsp + 0xb2], 0x1a
mov byte [rsp + 0xb3], 0x26
lea r9d, [rcx + 0x19]
mov qword [rdi + 0x78], rax
mov byte [rsp + 0xb4], 0x21
mov byte [rsp + 0xb5], 0x18
mov byte [rsp + 0xb6], 0
mov byte [rsp + 0xb7], 0x69
mov byte [rsp + 0xb8], 0x3e
mov byte [rsp + 0xb9], 0x21
mov byte [rsp + 0xba], 0x2b
mov byte [rsp + 0xbb], 0x31
mov byte [rsp + 0xbc], 0x30
mov byte [rsp + 0xbd], 0xf
mov byte [rsp + 0xbe], 0x21
mov byte [rsp + 0xbf], 0xd
mov byte [rsp + 0xc0], 0x31
mov byte [rsp + 0xc1], 0x4e
mov byte [rsp + 0xc2], 0x2a
mov byte [rsp + 0xc3], 0x2d
mov byte [rsp + 0xc4], 0x35
mov byte [rsp + 0xc5], 0x29
mov byte [rsp + 0xc6], 0x16
mov byte [rsp + 0xc7], 2
mov byte [rsp + 0xc8], 0x30
mov byte [rsp + 0xc9], 0
xor edx, edx
lea r8, [rsp + 0xb0]
cmp ecx, 0xa
jne 0x4014e0
xor ecx, ecx
xor edx, edx
movzx eax, byte [rdx + rbp]
add r8, 1
add ecx, 1
xor byte [r8 - 1], al
add rdx, 1
sub r9, 1
jne 0x4014d7
lea rdx, [rsp + 0xb0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x40], 0xe
mov byte [rsp + 0x41], 0x21
mov byte [rsp + 0x42], 0x1a
mov byte [rsp + 0x43], 0x26
lea r9d, [rcx + 0xf]
mov qword [rdi + 0x98], rax
mov byte [rsp + 0x44], 0x21
mov byte [rsp + 0x45], 0x18
mov byte [rsp + 0x46], 0
mov byte [rsp + 0x47], 0x6a
mov byte [rsp + 0x48], 0x2e
mov byte [rsp + 0x49], 0x25
mov byte [rsp + 0x4a], 0x3d
mov byte [rsp + 0x4b], 0xc
mov byte [rsp + 0x4c], 0x15
mov byte [rsp + 0x4d], 0x1a
mov byte [rsp + 0x4e], 0x34
mov byte [rsp + 0x4f], 0
xor edx, edx
lea r8, [rsp + 0x40]
nop
cmp ecx, 0xa
jne 0x401579
xor ecx, ecx
xor edx, edx
movzx eax, byte [rdx + rbp]
add r8, 1
add ecx, 1
xor byte [r8 - 1], al
add rdx, 1
sub r9, 1
jne 0x401570
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x80], 0xe
mov byte [rsp + 0x81], 0x21
mov byte [rsp + 0x82], 0x1a
mov byte [rsp + 0x83], 0x26
mov qword [rdi + 0xa8], rax
mov byte [rsp + 0x84], 0x21
mov byte [rsp + 0x85], 0x18
mov byte [rsp + 0x86], 0
mov byte [rsp + 0x87], 0x7b
mov byte [rsp + 0x88], 0x27
mov byte [rsp + 0x89], 0x2b
mov byte [rsp + 0x8a], 0x2a
mov byte [rsp + 0x8b], 0x2d
mov byte [rsp + 0x8c], 0x3c
mov byte [rsp + 0x8d], 0xf
mov byte [rsp + 0x8e], 0x3b
mov byte [rsp + 0x8f], 8
mov byte [rsp + 0x90], 0x1c
mov byte [rsp + 0x91], 0x5d
mov byte [rsp + 0x92], 0
xor edx, edx
lea r8, [rsp + 0x80]
nop
nop
cmp ecx, 0xa
jne 0x401659
xor ecx, ecx
xor edx, edx
movzx eax, byte [rdx + rbp]
add r8, 1
add ecx, 1
xor byte [r8 - 1], al
add rdx, 1
sub rbx, 1
jne 0x401650
lea rdx, [rsp + 0x80]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, qword [rsp + 0x100]
mov rbp, qword [rsp + 0x108]
mov qword [rdi + 0xc8], rax
mov rdi, qword [rsp + 0xf8]
lea eax, [rbx + 0x1a]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.00401a30
add rsp, 0x118
ret