Function at 0x140016430
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x408
mov dword [rsp + 0x38], 0
mov rax, qword [rsp + 0x410]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
add rax, 0x18
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
add rax, 4
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x28]
add rax, 0x70
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rax, 0x80
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x410]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], 0
jmp 0x1400164d7
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 0x60], eax
jae 0x140016748
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x410]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
movsxd rax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x410]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x140016743
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x410]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
movsxd rax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0xa0]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x410]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x410]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
cmp dword [rsp + 0x38], 5
jl 0x1400165df
xor eax, eax
jmp 0x14001674a
mov rax, qword [rsp + 0x30]
mov eax, dword [rax]
cmp dword [rsp + 0x88], eax
jb 0x140016739
mov rax, qword [rsp + 0x30]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
add eax, dword [rcx + 4]
cmp dword [rsp + 0x88], eax
ja 0x140016739
mov eax, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x410]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x3f0], 0
mov dword [rsp + 0x3f4], 0
jmp 0x140016664
mov eax, dword [rsp + 0x3f4]
inc eax
mov dword [rsp + 0x3f4], eax
mov eax, dword [rsp + 0x3f0]
inc eax
mov dword [rsp + 0x3f0], eax
mov rax, qword [rsp + 0xa8]
movsx eax, byte [rax]
cmp eax, 0x2e
je 0x1400166a3
movsxd rax, dword [rsp + 0x3f4]
mov rcx, qword [rsp + 0xa8]
movzx ecx, byte [rcx]
mov byte [rsp + rax + 0x2e0], cl
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
jmp 0x140016644
movsxd rax, dword [rsp + 0x3f0]
mov byte [rsp + rax + 0x2e0], 0
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xb0], rax
lea r9, [rsp + 0x2e0]
lea r8, [0x140037a00]
mov edx, 0x104
lea rcx, [rsp + 0xc0]
call fcn.140023d1c
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x2d0], rax
cmp qword [rsp + 0x2d0], 0
jne 0x14001670a
jmp 0x140016748
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x418], rax
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
jmp 0x140016449
mov rax, qword [rsp + 0x90]
jmp 0x14001674a
jmp 0x1400164cd
xor eax, eax
add rsp, 0x408
ret