Function at 0x494528
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
xor eax, eax
mov r15d, edx
lea ecx, [rax + 0xe]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], rax
call fcn.00494bcc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, 0x11
mov rbx, rax
call fcn.00494bcc
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, 0x12
mov qword [rsp + 0x140], rax
call fcn.00494bcc
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, 0xf
mov qword [rsp + 0x78], rax
call fcn.00494bcc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, 0x13
mov rbx, rax
call fcn.00494bcc
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12d, pe_nt_image_headers64
mov ecx, r12d
mov rdi, rax
call fcn.00494bcc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edx, 0x19b
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [r12 + 7]
mov rcx, rbx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [r12 + 8]
mov rcx, rbx
mov r13, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [r12 - 8]
mov rcx, rbx
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, r12
mov rcx, rbx
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 0xf
mov rcx, rbx
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 0x1a
mov rcx, rbx
mov qword [rsp + 0x88], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, 8
mov qword [rsp + 0x68], rax
call fcn.00494bcc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, 0x16
mov rbx, rax
call fcn.00494bcc
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x80], rax
mov ecx, 0x15
call fcn.00494bcc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, 0x17
call fcn.00494bcc
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x140]
test rax, rax
je 0x494b5b
cmp qword [rsp + 0x78], 0
je 0x494b5b
test rdi, rdi
je 0x494b5b
test rsi, rsi
je 0x494b5b
test r13, r13
je 0x494b5b
test r14, r14
je 0x494b5b
test rbp, rbp
je 0x494b5b
test r12, r12
je 0x494b5b
xor ecx, ecx
call rax
test eax, eax
mov ebx, eax
jns 0x494791
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x49474a
mov rdx, qword [rcx]
call qword [rdx + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x49475a
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x49476a
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x49477a
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x49478a
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov eax, ebx
jmp 0x494bae
lea rax, [rsp + 0x30]
lea r9, [0x00492230]
lea rdx, [0x004922e8]
mov qword [rsp + 0x28], rax
lea rax, [0x00492240]
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], rax
call rdi
test eax, eax
mov ebx, eax
js 0x49473a
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
mov ebx, eax
js 0x49473a
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x68]
mov rcx, qword [rsp + 0x48]
test eax, eax
mov ebx, eax
js 0x49473f
mov rax, qword [rcx]
lea r8, [rsp + 0x50]
lea rdx, [0x004922c8]
call qword [rax]
test eax, eax
mov ebx, eax
js 0x49473a
mov r8d, r15d
xor edx, edx
mov cx, 0x11
call rsi
test rax, rax
mov rdi, rax
je 0x494b5b
and qword [rsp + 0x70], 0
lea rdx, [rsp + 0x70]
mov rcx, rax
call r13
xor r13d, r13d
cmp eax, r13d
mov ebx, eax
jl 0x494b33
mov edx, dword [rsp + 0x130]
mov rcx, qword [rsp + 0x70]
mov r8d, r15d
call fcn.00492710
mov rcx, rdi
call r14
cmp eax, r13d
mov ebx, eax
jl 0x494b33
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x38]
mov rdx, rdi
mov rax, qword [rcx]
call qword [rax + 0x168]
cmp eax, r13d
mov ebx, eax
jl 0x494b33
mov rcx, rdi
call r12
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x40]
mov rax, qword [rcx]
mov rdi, r13
call qword [rax + 0x80]
cmp eax, r13d
mov ebx, eax
jl 0x494b3e
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x90]
cmp eax, r13d
mov ebx, eax
jl 0x494b3e
lea rcx, [rsp + 0xc0]
call rbp
mov rcx, qword [rsp + 0x38]
mov word [rsp + 0xc0], 9
mov qword [rsp + 0x140], r13
mov rax, qword [rcx]
lea r8, [rsp + 0x140]
lea rdx, [0x004922d8]
call qword [rax]
mov r11, qword [rsp + 0x140]
lea rcx, [rsp + 0xd8]
mov qword [rsp + 0xc8], r11
call rbp
mov r11, qword [rsp + 0x58]
cmp dword [r11 + 0x18], r13d
je 0x494a2e
cmp word [r11], r13w
je 0x494a2e
lea r14d, [r13 + 1]
xor edx, edx
mov cx, 0xc
mov r8d, r14d
call rsi
mov rsi, qword [rsp + 0x90]
mov ecx, r14d
cmp rsi, r13
mov dword [rsp + 0x148], ecx
mov rbx, r13
mov qword [rsp + 0x58], rax
je 0x49498a
call qword [rsp + 0x80]
lea rdx, [rsp + 0x148]
mov rcx, rax
call rsi
mov ecx, dword [rsp + 0x148]
mov rbx, rax
add ecx, 0xffffffff
lea r8, [rsp + 0x60]
mov edx, r14d
mov dword [rsp + 0x60], ecx
mov cx, 8
mov dword [rsp + 0x64], r13d
call qword [rsp + 0x88]
cmp dword [rsp + 0x148], r14d
mov dword [rsp + 0x140], r13d
mov r13, qword [rsp + 0x68]
mov rbp, rax
mov esi, r14d
jle 0x4949f3
add rbx, 8
mov r8, qword [rbx]
lea rdx, [rsp + 0x140]
mov rcx, rbp
call r13
add dword [rsp + 0x140], r14d
add esi, r14d
add rbx, 8
cmp esi, dword [rsp + 0x148]
jl 0x4949ca
mov rcx, qword [rsp + 0x58]
and dword [rsp + 0x140], edi
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x140]
mov word [rsp + 0xa0], 0x2008
mov qword [rsp + 0xa8], rbp
call r13
mov r8, qword [rsp + 0x58]
xor r13d, r13d
jmp 0x494a36
mov r8, r13
mov qword [rsp + 0x58], r13
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0xa0]
lea r9, [rsp + 0xd8]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rsp + 0x40]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx]
lea rdx, [rsp + 0xa0]
call qword [rax + 0x128]
cmp eax, r13d
mov ebx, eax
jl 0x494b33
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rcx, qword [rsp + 0x48]
cmp eax, r13d
mov ebx, eax
jge 0x494ae4
cmp rcx, r13
je 0x494aa7
mov rdx, qword [rcx]
call qword [rdx + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x30]
cmp rcx, r13
je 0x494ab7
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x40]
cmp rcx, r13
je 0x494ac7
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x494ad7
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x50]
cmp rcx, r13
jmp 0x494782
cmp rcx, r13
je 0x494aef
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x30]
cmp rcx, r13
je 0x494aff
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x40]
cmp rcx, r13
je 0x494b0f
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x494b1f
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x50]
cmp rcx, r13
je 0x494b2f
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
xor eax, eax
jmp 0x494bae
cmp rdi, r13
je 0x494b3e
mov rcx, rdi
call r12
call qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
cmp rcx, r13
je 0x494aa7
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
jmp 0x494aa7
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x494b6b
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x494b7b
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x494b8b
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x494b9b
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x494bab
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
or eax, 0xffffffff
mov rbx, qword [rsp + 0x138]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret