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

Disassembly:
mov dword [rsp + 0x20], r9d
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r14, qword [rcx + 0x10]
xor r10d, r10d
mov r13d, r9d
mov rbx, r8
mov rsi, rdx
mov r15, rcx
mov r12d, r10d
mov rdi, qword [r14 + 0x18]
movsxd rbp, dword [rdi + 0x54]
lea eax, [rbp + 1]
mov dword [rdi + 0x54], eax
lea eax, [rbp - 1]
test ebp, eax
jne 0x1400e9681
mov rdx, qword [rdi + 0x58]
lea eax, [rbp*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.140097e80
mov qword [rdi + 0x58], rax
xor r10d, r10d
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x1400e9691
mov dword [rcx + rbp*4], 0xffffffff
mov eax, dword [rsi + 0x40]
not ebp
and eax, 0x20
mov dword [rsp + 0x80], ebp
mov ecx, reloc.WLDAP32.dll_Ordinal_33
mov dword [rsp + 0x88], eax
cmp byte [rsp + 0xc8], r12b
jne 0x1400e9757
movsxd r8, dword [r14 + 0xb8]
test eax, eax
mov rax, qword [r14 + 0x18]
mov edx, reloc.WLDAP32.dll_Ordinal_30
cmove edx, ecx
cmp dword [rax + 0x3c], r8d
jg 0x1400e96f3
mov eax, dword [rsp + 0xa8]
mov r9d, ebp
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400b9830
mov r8d, eax
jmp 0x1400e972f
mov r9d, dword [rsp + 0xa8]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r14 + 0xb8], eax
mov rax, qword [r14 + 0x68]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r10w
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r10
mov byte [rax + rcx*8 + 1], r12b
mov rax, qword [r14]
cmp byte [rax + 0x55], r12b
jne 0x1400e9757
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
lea rdx, [rax + rcx*8]
movsx eax, word [rsp + 0xb0]
mov dword [rdx + 0x10], eax
mov rax, qword [r15]
test dword [rax + 0x2c], 0x80000
je 0x1400e978c
mov rcx, qword [rsi + 0x70]
lea r8, [rsp + 0x90]
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.14009bc30
test rax, rax
je 0x1400e9786
cmp qword [rax + 0x10], r12
jne 0x1400e9795
cmp qword [rsi + 0x20], r12
jne 0x1400e9795
test rbx, rbx
je 0x1400e99f9
xor r13d, r13d
mov rdi, rbx
test rbx, rbx
je 0x1400e97df
movzx r13d, byte [rsp + 0xc0]
nop dword [rax]
cmp byte [rdi + 0x10], 0x6d
jne 0x1400e97d6
test byte [rdi + 0x11], 3
je 0x1400e97d6
mov r9d, r13d
mov r8, rsi
mov rdx, rdi
mov rcx, r15
call fcn.14010ecc0
test rax, rax
je 0x1400e97d6
or r12d, dword [rax + 0x1c]
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1400e97b0
mov rdx, rsi
mov rcx, r15
call fcn.1400f0040
mov edx, dword [r15 + 0x38]
mov r13d, eax
movsx ecx, word [rsi + 0x46]
or r13d, r12d
inc ecx
lea r12d, [rdx + 1]
add edx, ecx
mov dword [r15 + 0x38], edx
mov rcx, qword [r14 + 0x18]
movsxd rdx, dword [r14 + 0xb8]
cmp dword [rcx + 0x3c], edx
jg 0x1400e9835
mov r8d, dword [rsp + 0xa8]
xor eax, eax
mov r9d, r12d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x55]
call fcn.1400b9830
xor r8d, r8d
jmp 0x1400e986b
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov edx, dword [rsp + 0xa8]
mov dword [r14 + 0xb8], eax
mov rax, qword [r14 + 0x68]
mov dword [rax + rcx*8], 0x55
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov edi, r8d
cmp r8w, word [rsi + 0x46]
jge 0x1400e98be
mov ebp, dword [rsp + 0x98]
nop dword [rax]
cmp r13d, 0xffffffff
je 0x1400e9891
cmp edi, 0x1f
jg 0x1400e98ad
bt r13d, edi
jae 0x1400e98ad
lea eax, [r12 + 1]
mov r9d, edi
add eax, edi
mov r8d, ebp
mov rdx, rsi
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400d4a30
movsx eax, word [rsi + 0x46]
inc edi
cmp edi, eax
jl 0x1400e9880
mov ebp, dword [rsp + 0x80]
mov r13d, dword [r14 + 0xb8]
mov edx, r13d
mov rdi, rbx
test rbx, rbx
je 0x1400e990d
cmp byte [rdi + 0x10], 0x6d
jne 0x1400e98fd
cmp byte [rdi + 0x11], 1
jne 0x1400e98fd
movzx eax, byte [rsp + 0xc0]
mov r9d, r12d
mov dword [rsp + 0x28], ebp
mov r8, rsi
mov rdx, rdi
mov dword [rsp + 0x20], eax
mov rcx, r15
call fcn.14010ed00
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1400e98d0
mov edx, dword [r14 + 0xb8]
cmp r13d, edx
jge 0x1400e99cc
cmp dword [rsp + 0x88], 0
mov eax, reloc.WLDAP32.dll_Ordinal_33
mov r8d, dword [rsp + 0x98]
mov r10d, reloc.WLDAP32.dll_Ordinal_30
cmove r10d, eax
mov rax, qword [r14 + 0x18]
cmp dword [rax + 0x3c], edx
jg 0x1400e995b
mov eax, dword [rsp + 0xa8]
mov r9d, ebp
mov edx, r10d
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400b9830
mov edx, eax
jmp 0x1400e999d
mov r9d, dword [rsp + 0xa8]
lea eax, [rdx + 1]
mov dword [r14 + 0xb8], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x68]
mov byte [rax + rcx*8], r10b
xor r10d, r10d
mov word [rax + rcx*8 + 2], r10w
mov qword [rax + rcx*8 + 0x10], r10
mov byte [rax + rcx*8 + 1], r10b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r9d
mov rax, qword [r14]
cmp byte [rax + 0x55], 0
jne 0x1400e99c5
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
lea rdx, [rax + rcx*8]
movsx eax, word [rsp + 0xb0]
mov dword [rdx + 0x10], eax
mov edi, 0xffffffff
jmp 0x1400e99d3
mov edi, dword [rsp + 0xd0]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x28], eax
mov r8d, r12d
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.1400ef860
mov r13d, dword [rsp + 0x98]
jmp 0x1400e9a00
mov edi, dword [rsp + 0xd0]
cmp qword [rsi + 0x18], 0
jne 0x1400e9b5b
mov r9d, dword [rsp + 0xa0]
xor eax, eax
mov dword [rsp + 0x28], edi
mov r8d, r13d
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.1400e9c70
mov rax, qword [r14 + 0x18]
xor r8d, r8d
cmp byte [rsp + 0xb8], r8b
mov edx, r8d
movsxd rcx, dword [r14 + 0xb8]
setne dl
cmp dword [rax + 0x3c], ecx
jg 0x1400e9a67
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r13d
mov edx, 0x76
mov rcx, r14
call fcn.1400b9830
jmp 0x1400e9a93
lea eax, [rcx + 1]
mov dword [r14 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x68]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
cmp byte [r15 + 0x1e], 0
jne 0x1400e9acb
mov rcx, qword [r14]
cmp byte [rcx + 0x55], 0
je 0x1400e9ab2
mov r8, rsi
mov edx, 0xfffffff1
call fcn.1400ba120
jmp 0x1400e9acb
movsxd rax, dword [r14 + 0xb8]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x68]
mov byte [rax + rcx*8 - 0x17], 0xf1
mov qword [rax + rcx*8 - 8], rsi
movzx r8d, byte [rsp + 0xc8]
test r8b, r8b
je 0x1400e9af6
movsxd rax, dword [r14 + 0xb8]
test eax, eax
jle 0x1400e9af6
lea rcx, [rax + rax*2]
mov edx, 4
mov rax, qword [r14 + 0x68]
mov word [rax + rcx*8 - 0x16], dx
test edi, edi
js 0x1400e9b33
cmp edi, r13d
je 0x1400e9b33
mov rax, qword [r14 + 0x18]
movsxd rcx, dword [r14 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400e9c35
xor eax, eax
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x76]
call fcn.1400b9830
movzx r8d, byte [rsp + 0xc8]
xor r9d, r9d
movsxd rax, dword [r14 + 0xb8]
test eax, eax
jle 0x1400e9b5b
mov edx, 2
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x68]
cmp r8b, dl
cmovne dx, r9w
mov word [rax + rcx*8 - 0x16], dx
mov rax, qword [r15]
test dword [rax + 0x2c], 0x80000
je 0x1400e9bcd
mov rcx, qword [rsi + 0x70]
lea r8, [rsp + 0xc8]
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.14009bc30
test rax, rax
je 0x1400e9bcd
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x1400e9bcd
xor r13d, r13d
xor r9d, r9d
mov r8, rdi
mov rdx, rsi
mov rcx, r15
call fcn.1400f0290
test rax, rax
je 0x1400e9bc4
mov dword [rsp + 0x28], r13d
mov r9d, r12d
mov r8, rsi
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r15
call fcn.14010ed00
mov rdi, qword [rdi + 0x18]
test rdi, rdi
jne 0x1400e9b90
test rbx, rbx
je 0x1400e9c08
cmp byte [rbx + 0x10], 0x6d
jne 0x1400e9bff
cmp byte [rbx + 0x11], 2
jne 0x1400e9bff
movzx eax, byte [rsp + 0xc0]
mov r9d, r12d
mov dword [rsp + 0x28], ebp
mov r8, rsi
mov rdx, rbx
mov dword [rsp + 0x20], eax
mov rcx, r15
call fcn.14010ed00
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1400e9bd2
mov rax, qword [r14 + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x1400e9c24
mov eax, dword [r14 + 0xb8]
not ebp
movsxd rcx, ebp
mov dword [rdx + rcx*4], eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r14 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x68]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edi
mov qword [rax + rcx*8 + 8], r9
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x1400e9b36