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

Disassembly:
mov r11, rsp
sub rsp, 0xf8
mov rax, qword [0x0040d058]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov qword [r11 - 8], rdi
mov rdi, rcx
lea rcx, [r11 - 0x48]
mov byte [r11 - 0x48], 0x57
mov byte [r11 - 0x47], 0x69
mov byte [r11 - 0x46], 0x6e
mov byte [r11 - 0x45], 0x68
mov byte [r11 - 0x44], 0x74
mov byte [r11 - 0x43], 0x74
mov byte [r11 - 0x42], 0x70
mov byte [r11 - 0x41], 0x2e
mov byte [r11 - 0x40], 0x64
mov byte [r11 - 0x3f], 0x6c
mov byte [r11 - 0x3e], 0x6c
mov byte [r11 - 0x3d], 0
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ecx, ecx
mov byte [rsp + 0x20], 0x34
mov byte [rsp + 0x21], 0xf
mov rsi, rax
mov byte [rsp + 0x22], 6
mov byte [rsp + 0x23], 0x2f
lea r9d, [rcx + 0xb]
mov byte [rsp + 0x24], 0x18
mov byte [rsp + 0x25], 0x1f
mov byte [rsp + 0x26], 0x13
mov byte [rsp + 0x27], 0x29
mov byte [rsp + 0x28], 0x18
mov byte [rsp + 0x29], 2
mov byte [rsp + 0x2a], 2
mov byte [rsp + 0x2b], 0
xor edx, edx
lea r8, [rsp + 0x20]
lea rbp, str.cfhglk
cmp ecx, 6
jne 0x4010cd
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 0x4010c4
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x30], 0x34
mov byte [rsp + 0x31], 0xf
mov byte [rsp + 0x32], 6
mov byte [rsp + 0x33], 0x2f
lea r9d, [rcx + 0xe]
mov qword [rdi], rax
mov byte [rsp + 0x34], 0x18
mov byte [rsp + 0x35], 0x1f
mov byte [rsp + 0x36], 0x13
mov byte [rsp + 0x37], 0x25
mov byte [rsp + 0x38], 7
mov byte [rsp + 0x39], 9
mov byte [rsp + 0x3a], 2
mov byte [rsp + 0x3b], 0xe
mov byte [rsp + 0x3c], 0
mov byte [rsp + 0x3d], 0x12
mov byte [rsp + 0x3e], 0
xor edx, edx
lea r8, [rsp + 0x30]
nop
cmp ecx, 6
jne 0x401159
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 0x401150
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x108], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, 0x12
xor ecx, ecx
mov byte [rsp + 0x50], 0x34
mov byte [rsp + 0x51], 0xf
mov byte [rsp + 0x52], 6
mov qword [rdi + 0x10], rax
mov byte [rsp + 0x53], 0x2f
mov byte [rsp + 0x54], 0x18
mov byte [rsp + 0x55], 0x1f
mov byte [rsp + 0x56], 0x13
mov byte [rsp + 0x57], 0x29
mov byte [rsp + 0x58], 0x18
mov byte [rsp + 0x59], 2
mov byte [rsp + 0x5a], 2
mov byte [rsp + 0x5b], 0x39
mov byte [rsp + 0x5c], 6
mov byte [rsp + 0x5d], 0x17
mov byte [rsp + 0x5e], 0x1d
mov byte [rsp + 0x5f], 2
mov byte [rsp + 0x60], 0x1f
mov byte [rsp + 0x61], 0x1f
mov byte [rsp + 0x62], 0
xor edx, edx
lea r8, [rsp + 0x50]
mov r9, rbx
nop
cmp ecx, 6
jne 0x401209
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 0x401200
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x80], 0x34
mov byte [rsp + 0x81], 0xf
mov byte [rsp + 0x82], 6
mov byte [rsp + 0x83], 0x2f
mov qword [rdi + 0x20], rax
mov byte [rsp + 0x84], 0x18
mov byte [rsp + 0x85], 0x1f
mov byte [rsp + 0x86], 0x13
mov byte [rsp + 0x87], 0x35
mov byte [rsp + 0x88], 0xd
mov byte [rsp + 0x89], 9
mov byte [rsp + 0x8a], 8
mov byte [rsp + 0x8b], 0x39
mov byte [rsp + 0x8c], 6
mov byte [rsp + 0x8d], 0x17
mov byte [rsp + 0x8e], 0x1d
mov byte [rsp + 0x8f], 2
mov byte [rsp + 0x90], 0x1f
mov byte [rsp + 0x91], 0x1f
mov byte [rsp + 0x92], 0
xor edx, edx
lea r8, [rsp + 0x80]
mov r9, rbx
nop
nop
cmp ecx, 6
jne 0x4012e9
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 0x4012e0
lea rdx, [rsp + 0x80]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x98], 0x34
mov byte [rsp + 0x99], 0xf
mov byte [rsp + 0x9a], 6
mov byte [rsp + 0x9b], 0x2f
lea r9d, [rcx + 0x16]
mov qword [rdi + 0x28], rax
mov byte [rsp + 0x9c], 0x18
mov byte [rsp + 0x9d], 0x1f
mov byte [rsp + 0x9e], 0x13
mov byte [rsp + 0x9f], 0x34
mov byte [rsp + 0xa0], 0xd
mov byte [rsp + 0xa1], 4
mov byte [rsp + 0xa2], 9
mov byte [rsp + 0xa3], 2
mov byte [rsp + 0xa4], 0x15
mov byte [rsp + 0xa5], 3
mov byte [rsp + 0xa6], 0x3a
mov byte [rsp + 0xa7], 2
mov byte [rsp + 0xa8], 0x1f
mov byte [rsp + 0xa9], 0x1b
mov byte [rsp + 0xaa], 0xc
mov byte [rsp + 0xab], 8
mov byte [rsp + 0xac], 0x1b
mov byte [rsp + 0xad], 2
mov byte [rsp + 0xae], 0
xor edx, edx
lea r8, [rsp + 0x98]
nop
cmp ecx, 6
jne 0x4013e9
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 0x4013e0
lea rdx, [rsp + 0x98]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0xc0], 0x34
mov byte [rsp + 0xc1], 0xf
mov byte [rsp + 0xc2], 6
mov byte [rsp + 0xc3], 0x2f
lea r9d, [rcx + 0x19]
mov qword [rdi + 0x38], rax
mov byte [rsp + 0xc4], 0x18
mov byte [rsp + 0xc5], 0x1f
mov byte [rsp + 0xc6], 0x13
mov byte [rsp + 0xc7], 0x37
mov byte [rsp + 0xc8], 0x1d
mov byte [rsp + 0xc9], 2
mov byte [rsp + 0xca], 0x1e
mov byte [rsp + 0xcb], bl
mov byte [rsp + 0xcc], 0x27
mov byte [rsp + 0xcd], 7
mov byte [rsp + 0xce], 0x1c
mov byte [rsp + 0xcf], 6
mov byte [rsp + 0xd0], 0x2d
mov byte [rsp + 0xd1], 0x1d
mov byte [rsp + 0xd2], 2
mov byte [rsp + 0xd3], 0xf
mov byte [rsp + 0xd4], 4
mov byte [rsp + 0xd5], 6
mov byte [rsp + 0xd6], 0xe
mov byte [rsp + 0xd7], 7
mov byte [rsp + 0xd8], 6
mov byte [rsp + 0xd9], 0
xor edx, edx
lea r8, [rsp + 0xc0]
cmp ecx, 6
jne 0x4014ff
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 0x4014f6
lea rdx, [rsp + 0xc0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x40], 0x34
mov byte [rsp + 0x41], 0xf
mov byte [rsp + 0x42], 6
mov byte [rsp + 0x43], 0x2f
lea r9d, [rcx + 0xf]
mov qword [rdi + 0x40], rax
mov byte [rsp + 0x44], 0x18
mov byte [rsp + 0x45], 0x1f
mov byte [rsp + 0x46], 0x13
mov byte [rsp + 0x47], 0x34
mov byte [rsp + 0x48], 0xd
mov byte [rsp + 0x49], 6
mov byte [rsp + 0x4a], 8
mov byte [rsp + 0x4b], 0x2f
mov byte [rsp + 0x4c], 2
mov byte [rsp + 0x4d], bl
mov byte [rsp + 0x4e], 9
mov byte [rsp + 0x4f], 0
xor edx, edx
lea r8, [rsp + 0x40]
nop
nop
cmp ecx, 6
jne 0x401599
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 0x401590
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov byte [rsp + 0x68], 0x34
mov byte [rsp + 0x69], 0xf
mov byte [rsp + 0x6a], 6
mov byte [rsp + 0x6b], 0x2f
mov qword [rdi + 0x50], rax
mov byte [rsp + 0x6c], 0x18
mov byte [rsp + 0x6d], 0x1f
mov byte [rsp + 0x6e], 0x13
mov byte [rsp + 0x6f], 0x25
mov byte [rsp + 0x70], 4
mov byte [rsp + 0x71], 8
mov byte [rsp + 0x72], 0x1f
mov byte [rsp + 0x73], 0xe
mov byte [rsp + 0x74], 0x2b
mov byte [rsp + 0x75], 7
mov byte [rsp + 0x76], 6
mov byte [rsp + 0x77], 3
mov byte [rsp + 0x78], 0
mov byte [rsp + 0x79], 0xe
mov byte [rsp + 0x7a], 0
xor edx, edx
lea r8, [rsp + 0x68]
nop
cmp ecx, 6
jne 0x401639
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 0x401630
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x110]
mov qword [rdi + 0x58], rax
mov rdi, qword [rsp + 0xf0]
lea eax, [rbx + 1]
mov rbx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.004018d0
add rsp, 0xf8
ret