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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x250
mov rax, qword [0x140047040]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x140047d70], eax
jle 0x140023174
lea rcx, [0x140047d70]
call fcn.14003c038
cmp dword [0x140047d70], 0xffffffff
jne 0x140023174
call fcn.1400220d0
mov qword [0x140047d48], rax
lea rcx, [0x140047d70]
call fcn.14003bfcc
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x140047e84], eax
jle 0x1400231bf
lea rcx, [0x140047e84]
call fcn.14003c038
cmp dword [0x140047e84], 0xffffffff
jne 0x1400231bf
call fcn.140022240
mov qword [0x140047d30], rax
lea rcx, [0x140047e84]
call fcn.14003bfcc
cmp qword [0x140047d48], 0
je 0x1400231d3
cmp qword [0x140047d30], 0
jne 0x1400231da
xor al, al
jmp 0x14002392e
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x140047d9c], eax
jle 0x1400232f6
lea rcx, [0x140047d9c]
call fcn.14003c038
cmp dword [0x140047d9c], 0xffffffff
jne 0x1400232f6
lea rax, [rsp + 0x20]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x21]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x22]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x20]
movzx r8d, byte [rsp + 0x21]
movzx edx, byte [rsp + 0x22]
lea rcx, [rsp + 0x110]
call fcn.140027e20
mov rcx, rax
call fcn.1400241b0
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x23]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x24]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x25]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x23]
movzx r8d, byte [rsp + 0x24]
movzx edx, byte [rsp + 0x25]
lea rcx, [rsp + 0xd0]
call fcn.140027d10
mov rcx, rax
call fcn.1400240a0
mov qword [rsp + 0x50], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call fcn.140021b40
mov qword [0x140047e50], rax
lea rcx, [0x140047d9c]
call fcn.14003bfcc
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x140047d78], eax
jle 0x140023412
lea rcx, [0x140047d78]
call fcn.14003c038
cmp dword [0x140047d78], 0xffffffff
jne 0x140023412
lea rax, [rsp + 0x26]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x27]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x28]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x26]
movzx r8d, byte [rsp + 0x27]
movzx edx, byte [rsp + 0x28]
lea rcx, [rsp + 0x130]
call fcn.140027ea0
mov rcx, rax
call fcn.1400241b0
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x29]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x2a]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x2b]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x29]
movzx r8d, byte [rsp + 0x2a]
movzx edx, byte [rsp + 0x2b]
lea rcx, [rsp + 0xe0]
call fcn.140027d10
mov rcx, rax
call fcn.1400240a0
mov qword [rsp + 0x60], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
call fcn.140021b40
mov qword [0x140047e48], rax
lea rcx, [0x140047d78]
call fcn.14003bfcc
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x140047da0], eax
jle 0x14002352e
lea rcx, [0x140047da0]
call fcn.14003c038
cmp dword [0x140047da0], 0xffffffff
jne 0x14002352e
lea rax, [rsp + 0x2c]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x2d]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x2e]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x2c]
movzx r8d, byte [rsp + 0x2d]
movzx edx, byte [rsp + 0x2e]
lea rcx, [rsp + 0x150]
call fcn.140027f20
mov rcx, rax
call fcn.1400241b0
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x2f]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x30]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x31]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x2f]
movzx r8d, byte [rsp + 0x30]
movzx edx, byte [rsp + 0x31]
lea rcx, [rsp + 0xf0]
call fcn.140027d10
mov rcx, rax
call fcn.1400240a0
mov qword [rsp + 0x70], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
call fcn.140021b40
mov qword [0x140047e30], rax
lea rcx, [0x140047da0]
call fcn.14003bfcc
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x140047d18], eax
jle 0x140023650
lea rcx, [0x140047d18]
call fcn.14003c038
cmp dword [0x140047d18], 0xffffffff
jne 0x140023650
lea rax, [rsp + 0x32]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x33]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x34]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x32]
movzx r8d, byte [rsp + 0x33]
movzx edx, byte [rsp + 0x34]
lea rcx, [rsp + 0x170]
call fcn.140027fa0
mov rcx, rax
call fcn.1400241b0
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x35]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x36]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x37]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x35]
movzx r8d, byte [rsp + 0x36]
movzx edx, byte [rsp + 0x37]
lea rcx, [rsp + 0x100]
call fcn.140027d10
mov rcx, rax
call fcn.1400240a0
mov qword [rsp + 0x80], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call fcn.140021b40
mov qword [0x140047d40], rax
lea rcx, [0x140047d18]
call fcn.14003bfcc
cmp qword [0x140047e50], 0
je 0x14002366e
cmp qword [0x140047e48], 0
je 0x14002366e
cmp qword [0x140047e30], 0
jne 0x140023675
xor al, al
jmp 0x14002392e
lea rcx, [rsp + 0x3b]
call fcn.140020560
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0xb8]
mov rcx, qword [rsp + 0x268]
call fcn.140024a20
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa0], rax
lea rdx, [rsp + 0xc0]
mov rcx, qword [rsp + 0x268]
call fcn.140024a90
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xa8], rax
mov r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x1e8]
call fcn.140028020
nop
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0x228], eax
lea rcx, [rsp + 0x1e8]
call fcn.140024940
mov rdx, rax
lea rcx, [rsp + 0x218]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
mov r9b, 1
mov r8, qword [0x140047d48]
mov rdx, qword [0x140047e50]
mov rcx, qword [rsp + 0x260]
call fcn.140028110
movzx eax, al
test eax, eax
jne 0x14002377a
mov byte [rsp + 0x38], 0
lea rcx, [rsp + 0x1e8]
call fcn.140024960
movzx eax, byte [rsp + 0x38]
jmp 0x14002392e
lea r9, [rsp + 0x208]
mov r8, qword [0x140047d30]
mov rdx, qword [0x140047e48]
mov rcx, qword [rsp + 0x260]
call fcn.140028250
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x1400238fc
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x1b0]
mov rcx, qword [rsp + 0x260]
call fcn.1400283a0
mov r8, qword [rsp + 0x1b0]
lea rdx, [rsp + 0x1a0]
mov rcx, qword [rsp + 0x260]
call fcn.140028400
mov r8, qword [rsp + 0x1b8]
lea rdx, [rsp + 0x190]
mov rcx, qword [rsp + 0x260]
call fcn.140028400
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x1a8], rax
lea r8, [rsp + 0x190]
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x260]
call fcn.140028460
lea r8, [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x260]
call fcn.140028460
mov r9, qword [rsp + 0x40]
mov r8, qword [0x140047d30]
mov rdx, qword [0x140047d40]
mov rcx, qword [rsp + 0x260]
call fcn.1400284a0
lea r9, [rsp + 0x208]
mov r8, qword [0x140047d30]
mov rdx, qword [0x140047e48]
mov rcx, qword [rsp + 0x260]
call fcn.140028250
mov qword [rsp + 0xb0], rax
mov r8, qword [0x140047d48]
mov rdx, qword [0x140047e30]
mov rcx, qword [rsp + 0x260]
call fcn.1400285e0
cmp qword [rsp + 0xb0], 0
jne 0x1400238d7
mov dword [rsp + 0x3c], 1
jmp 0x1400238df
mov dword [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
mov byte [rsp + 0x39], al
lea rcx, [rsp + 0x1e8]
call fcn.140024960
movzx eax, byte [rsp + 0x39]
jmp 0x14002392e
mov r8, qword [0x140047d48]
mov rdx, qword [0x140047e30]
mov rcx, qword [rsp + 0x260]
call fcn.1400285e0
mov byte [rsp + 0x3a], 0
lea rcx, [rsp + 0x1e8]
call fcn.140024960
movzx eax, byte [rsp + 0x3a]
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.14003bf00
add rsp, 0x250
pop rdi
ret