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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov r10, qword [rcx + 0x10]
mov rbx, rdx
mov r11, qword [rcx]
xor edx, edx
mov qword [rsp + 0x60], r10
mov r9d, r8d
mov dword [rbp + 0x60], r8d
mov rdi, rcx
mov dword [rbp + 0x78], edx
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x78], r11
test r10, r10
jne 0x18002df09
xor eax, eax
jmp 0x18002ea11
test rbx, rbx
je 0x18002e9e5
movzx esi, byte [rbx]
cmp esi, 0x68
ja 0x18002e25a
je 0x18002e9e5
cmp esi, 0x25
ja 0x18002e170
cmp esi, 0x20
jae 0x18002e119
cmp esi, 0x10
je 0x18002e1f1
cmp esi, 0x16
jbe 0x18002e73b
cmp esi, 0x18
jbe 0x18002e21d
cmp esi, 0x19
je 0x18002e643
cmp esi, 0x1c
je 0x18002dfed
lea eax, [rsi - 0x1e]
cmp eax, 1
ja 0x18002e73b
mov dword [rsp + 0x20], edx
mov rcx, r10
mov edx, Ordinal_77
lea r8d, [rdx - 0x49]
call fcn.180020968
mov rdx, qword [rbx + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rdi
call fcn.18002eab4
and dword [rsp + 0x20], 0
mov edx, esi
mov rsi, qword [rsp + 0x60]
xor r9d, r9d
mov rcx, rsi
mov r8d, eax
call fcn.180020968
mov r9d, dword [rbp + 0x70]
xor r8d, r8d
and dword [rsp + 0x20], 0
mov rcx, rsi
mov ebx, eax
lea edx, [r8 + 0x4a]
call fcn.180020968
mov ecx, dword [rsi + 0x3c]
mov edx, ebx
mov rax, qword [rsi + 0x30]
dec ecx
mov dword [rax + 0x6c], ecx
mov rcx, rsi
call fcn.180020dec
mov r9, rax
mov eax, dword [rsi + 0x3c]
mov dword [r9 + 8], eax
jmp 0x18002e9f8
mov rcx, qword [rbx + 0x10]
lea r8, [rbp + 0x78]
mov rax, qword [rbx + 0x20]
mov rdx, rcx
mov qword [rsp + 0x58], rcx
mov rcx, rdi
mov rbx, qword [rax + 8]
mov rsi, qword [rbx]
mov qword [rsp + 0x78], rsi
call fcn.18002eab4
lea r8, [rsp + 0x50]
mov dword [rsp + 0x68], eax
mov rdx, rsi
mov rcx, rdi
call fcn.18002eab4
mov cl, byte [rdi + 0x1f]
mov edx, eax
test cl, cl
jne 0x18002e03a
inc dword [rdi + 0x58]
mov ecx, dword [rdi + 0x58]
jmp 0x18002e046
dec cl
movzx eax, cl
mov byte [rdi + 0x1f], al
mov ecx, dword [rdi + rax*4 + 0x28]
mov al, byte [rdi + 0x1f]
mov dword [rsp + 0x48], ecx
test al, al
jne 0x18002e059
inc dword [rdi + 0x58]
mov eax, dword [rdi + 0x58]
jmp 0x18002e065
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0x28]
mov r8, qword [rsp + 0x78]
mov esi, Ordinal_36
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], ecx
mov rcx, rdi
mov dword [rsp + 0x28], edx
mov rdx, qword [rsp + 0x58]
lea r9d, [rsi + 5]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
call fcn.18002c73c
mov rbx, qword [rbx + 0x28]
mov rcx, rdi
mov edx, dword [rsp + 0x50]
call fcn.18002fbd0
lea r8, [rsp + 0x50]
mov rdx, rbx
call fcn.18002eab4
mov ecx, dword [rsp + 0x40]
lea r9d, [rsi + 3]
mov rdx, qword [rsp + 0x58]
mov r8, rbx
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], ecx
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
call fcn.18002c73c
mov ecx, dword [rbp + 0x70]
lea edx, [rsi - 8]
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x60]
call fcn.180020968
mov edx, dword [rsp + 0x48]
mov rcx, rdi
call fcn.18002fbd0
mov edx, dword [rsp + 0x40]
call fcn.18002fbd0
jmp 0x18002e9f8
mov rdx, qword [rbx + 0x10]
lea r8, [rbp + 0x78]
call fcn.18002eab4
mov rdx, qword [rbp + 0x68]
lea r8, [rsp + 0x50]
mov rcx, rdi
mov ebx, eax
mov rdx, qword [rdx + 0x18]
call fcn.18002eab4
mov r9d, esi
mov dword [rsp + 0x38], Ordinal_36
mov ecx, dword [rbp + 0x70]
mov dword [rsp + 0x30], ecx
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x68]
mov dword [rsp + 0x20], ebx
mov r8, qword [rax + 0x18]
mov rdx, qword [rax + 0x10]
call fcn.18002c73c
jmp 0x18002e9f8
cmp esi, 0x27
jb 0x18002e73b
cmp esi, 0x30
jbe 0x18002e21d
cmp esi, 0x31
je 0x18002e913
cmp esi, 0x32
je 0x18002e1f1
cmp esi, 0x58
je 0x18002e1ca
cmp esi, 0x64
jne 0x18002e73b
mov rbx, qword [rbx + 8]
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov rcx, r10
mov edx, esi
call fcn.180020968
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, qword [rsp + 0x60]
call fcn.180020d74
jmp 0x18002e9f8
mov rax, qword [rbx + 0x40]
movsx r8d, word [rbx + 0x30]
inc r8d
mov dword [rsp + 0x20], edx
mov edx, Ordinal_145
movsx ecx, word [rax + 0x3e]
inc ecx
imul ecx, dword [rbx + 0x2c]
add r8d, ecx
jmp 0x18002e9f0
mov rdx, qword [rbx + 0x10]
lea r8, [rbp + 0x78]
call fcn.18002eab4
mov ebx, dword [rbp + 0x70]
mov r8d, eax
mov rcx, qword [rsp + 0x60]
mov r9d, ebx
and dword [rsp + 0x20], 0
mov edx, esi
call fcn.180020968
jmp 0x18002e9fb
mov rdx, qword [rbx + 0x10]
lea r8, [rbp + 0x78]
call fcn.18002eab4
mov rdx, qword [rbp + 0x68]
lea r8, [rsp + 0x50]
mov rcx, rdi
mov ebx, eax
mov rdx, qword [rdx + 0x18]
call fcn.18002eab4
mov ecx, dword [rbp + 0x70]
mov r9d, ebx
mov dword [rsp + 0x20], ecx
mov r8d, eax
mov rcx, qword [rsp + 0x60]
mov edx, esi
jmp 0x18002e9f3
mov eax, 0x97
cmp esi, eax
ja 0x18002e70b
je 0x18002e6dc
mov ecx, esi
sub ecx, 0x84
je 0x18002e6c9
sub ecx, 3
je 0x18002e683
sub ecx, 0xb
je 0x18002e643
sub ecx, 3
je 0x18002e2bc
cmp ecx, 1
jne 0x18002e73b
mov ecx, dword [rbx + 0x2c]
test ecx, ecx
jns 0x18002e9c0
mov ecx, dword [rdi + 0x70]
test ecx, ecx
jle 0x18002e9bd
movsx ebx, word [rbx + 0x30]
add ebx, ecx
jmp 0x18002e9fb
test dword [rbx + 4], 0x4000
mov dword [rsp + 0x40], edx
mov qword [rsp + 0x68], rdx
je 0x18002e3fc
mov rsi, rdx
mov qword [rsp + 0x58], rdx
mov dword [rsp + 0x48], edx
mov rax, qword [rbx + 8]
mov rcx, r11
mov ebx, dword [rsp + 0x48]
mov r8d, ebx
mov r9b, byte [r11 + 0x52]
mov byte [rsp + 0x20], dl
mov rdx, rax
mov qword [rbp - 0x80], rax
call fcn.1800345e0
mov qword [rsp + 0x70], rax
mov r10, rax
test rax, rax
je 0x18002e62b
cmp qword [rax + 0x20], 0
jne 0x18002e62b
mov eax, 0x200
test word [r10 + 2], ax
je 0x18002e419
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.180020a8c
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
mov ebx, dword [rbp + 0x70]
mov r8d, ebx
mov dword [rsp + 0x68], eax
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx]
call fcn.18002ebb4
mov eax, dword [rsp + 0x48]
cmp eax, 1
jle 0x18002e3ce
lea ecx, [rax - 1]
mov qword [rsp + 0x70], Ordinal_41
mov qword [rsp + 0x60], rcx
mov r9d, dword [rsp + 0x68]
mov r8d, ebx
and dword [rsp + 0x20], 0
mov edx, 0x1f
mov rcx, rsi
call fcn.180020968
mov r8d, 1
mov edx, ebx
mov rcx, rdi
call fcn.18002db74
inc dword [rdi + 0x78]
mov r8d, ebx
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 8]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + rdx]
call fcn.18002ebb4
mov rcx, rdi
call fcn.18002dbd4
add qword [rsp + 0x70], 0x28
sub qword [rsp + 0x60], 1
jne 0x18002e371
mov rdx, qword [rsi + 0x30]
mov r8, qword [rdx + 0x88]
test r8, r8
je 0x18002e3ef
or eax, 0xffffffff
sub eax, dword [rsp + 0x68]
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rsi + 0x3c]
dec eax
mov dword [rdx + 0x6c], eax
jmp 0x18002e9f8
mov rsi, qword [rbx + 0x20]
mov qword [rsp + 0x58], rsi
test rsi, rsi
je 0x18002e2da
mov eax, dword [rsi]
mov dword [rsp + 0x48], eax
jmp 0x18002e2de
mov eax, 0x400
test word [r10 + 2], ax
je 0x18002e43f
mov rdx, qword [rsi + 8]
mov rcx, rdi
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rdx]
call fcn.18002debc
mov ebx, eax
jmp 0x18002e9fb
xor eax, eax
mov dword [rsp + 0x48], eax
test ebx, ebx
jle 0x18002e4d9
xor ecx, ecx
mov qword [rsp + 0x58], rcx
cmp eax, 0x20
jge 0x18002e490
mov rax, qword [rsi + 8]
mov edx, 1
mov rcx, qword [rcx + rax]
call fcn.18002d770
mov r10, qword [rsp + 0x70]
test eax, eax
je 0x18002e487
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x48]
bts eax, ecx
mov dword [rsp + 0x40], eax
mov eax, ecx
jmp 0x18002e48b
mov eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
test byte [r10 + 2], 0x20
je 0x18002e4c2
cmp qword [rsp + 0x68], 0
jne 0x18002e4c2
mov rdx, qword [rsi + 8]
mov rdx, qword [rdx + rcx]
mov rcx, rdi
call fcn.18002c530
mov r10, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x48]
inc eax
add rcx, 0x28
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x58], rcx
cmp eax, ebx
jl 0x18002e454
test rsi, rsi
je 0x18002e548
cmp dword [rsp + 0x40], 0
je 0x18002e4f2
mov eax, dword [rdi + 0x58]
lea edx, [rax + 1]
add eax, ebx
mov dword [rdi + 0x58], eax
jmp 0x18002e4fe
mov edx, ebx
mov rcx, rdi
call fcn.18002fc08
mov edx, eax
test byte [r10 + 2], 0xc0
mov dword [rsp + 0x48], edx
je 0x18002e525
mov rcx, qword [rsi + 8]
mov r8, qword [rcx]
mov cl, byte [r8]
add cl, 0x6a
test cl, 0xfd
jne 0x18002e525
mov al, byte [r10 + 2]
and al, 0xc0
mov byte [r8 + 0x36], al
inc dword [rdi + 0x78]
mov r8d, edx
mov rdx, rsi
mov byte [rsp + 0x20], 3
xor r9d, r9d
mov rcx, rdi
call fcn.18002ec80
mov rcx, rdi
call fcn.18002dbd4
jmp 0x18002e54d
and dword [rsp + 0x48], 0
mov rax, qword [rsp + 0x70]
test byte [rax + 2], 0x20
je 0x18002e5a1
cmp qword [rsp + 0x68], 0
jne 0x18002e56e
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x68], rax
mov rsi, qword [rsp + 0x60]
xor r9d, r9d
and dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x56]
call fcn.180020968
mov r8, qword [rsp + 0x68]
mov r9d, 0xfffffffc
mov edx, eax
mov rcx, rsi
call fcn.180020d74
jmp 0x18002e5a6
mov rsi, qword [rsp + 0x60]
mov ecx, dword [rbp + 0x70]
mov edx, 0x57
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.180020968
mov r8, qword [rsp + 0x70]
mov r9d, 0xfffffffb
mov edx, eax
mov rcx, rsi
call fcn.180020d74
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x18002e5f5
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov byte [rax + rcx*8 + 3], bl
test ebx, ebx
je 0x18002e9f8
cmp dword [rsp + 0x40], 0
jne 0x18002e9f8
mov edx, dword [rsp + 0x48]
mov r8d, ebx
mov rcx, rdi
call fcn.18002db74
cmp ebx, dword [rdi + 0x48]
jle 0x18002e9f8
mov dword [rdi + 0x48], ebx
mov dword [rdi + 0x4c], edx
jmp 0x18002e9f8
mov r8, qword [rbp - 0x80]
lea rdx, str.unknown_function:__s__
mov rcx, rdi
call fcn.180011380
jmp 0x18002e9f8
mov rdx, qword [rbx + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rdi
call fcn.18002eab4
mov rdx, qword [rbp + 0x68]
lea r8, [rsp + 0x50]
mov rcx, rdi
mov ebx, eax
mov rdx, qword [rdx + 0x18]
call fcn.18002eab4
sub esi, 0x19
mov dword [rsp + 0x38], Ordinal_167
neg esi
sbb r9d, r9d
add r9d, 0x21
jmp 0x18002e148
movsx r8d, word [rbx + 0x30]
mov rcx, r10
mov dword [rsp + 0x20], edx
mov edx, 0x50
call fcn.180020968
mov rax, qword [rbx + 8]
cmp byte [rax + 1], 0
je 0x18002e9f8
movsx eax, word [rbx + 0x30]
mov r9d, 0xfffffffe
mov r8, qword [rdi + 0x1f8]
dec eax
movsxd rcx, eax
or edx, 0xffffffff
mov r8, qword [r8 + rcx*8]
jmp 0x18002e1bb
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.18002d99c
jmp 0x18002e9f8
mov rdx, qword [rbx + 0x38]
test rdx, rdx
jne 0x18002e6f5
mov r8, qword [rbx + 8]
lea rdx, str.misuse_of_aggregate:__s__
jmp 0x18002e639
movsx rax, word [rbx + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov ebx, dword [rax + rcx*8 + 0x10]
jmp 0x18002e9fb
sub esi, 0x98
je 0x18002e986
sub esi, 1
je 0x18002e91c
sub esi, 1
je 0x18002e913
sub esi, 1
je 0x18002e90b
cmp esi, 2
je 0x18002e913
mov rax, qword [rbx + 0x20]
mov rcx, r10
mov qword [rsp + 0x70], rdx
mov qword [rbp - 0x78], rax
mov rdx, qword [rax + 8]
mov esi, dword [rax]
mov qword [rsp + 0x58], rdx
mov dword [rsp + 0x40], esi
call fcn.180020a8c
mov rcx, qword [rbx + 0x10]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x78], rcx
test rcx, rcx
je 0x18002e7d9
movups xmm0, xmmword [rcx]
mov rdx, rcx
lea r8, [rbp + 0x78]
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [rcx + 0x20]
movaps xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rcx + 0x30]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [rcx + 0x40]
mov rcx, rdi
movsd qword [rbp - 0x30], xmm0
call fcn.18002eab4
mov cl, byte [rbp - 0x70]
btr dword [rbp - 0x6c], 0xc
and dword [rbp + 0x78], 0
mov dword [rbp - 0x44], eax
lea rax, [rbp - 0x70]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
mov byte [rbp - 0x3a], cl
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x70], rax
mov byte [rbp - 0x70], Ordinal_157
mov byte [rbp - 0x20], Ordinal_36
mov ebx, dword [rbp + 0x70]
lea eax, [rsi - 1]
mov rsi, qword [rsp + 0x60]
cdqe
mov qword [rbp - 0x80], rax
test rax, rax
jle 0x18002e8bd
dec rax
shr rax, 1
inc rax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x58]
inc dword [rdi + 0x78]
mov rax, qword [rax]
test rcx, rcx
je 0x18002e817
mov qword [rbp - 8], rax
jmp 0x18002e81c
mov qword [rsp + 0x70], rax
mov rcx, rsi
call fcn.180020a8c
mov rdx, qword [rsp + 0x70]
mov r9d, 0x10
mov r8d, eax
mov dword [rbp + 0x70], eax
mov rcx, rdi
call fcn.18002f22c
mov rdx, qword [rsp + 0x58]
mov r8d, ebx
mov rcx, rdi
mov rdx, qword [rdx + 0x28]
call fcn.18002ebb4
mov r9d, dword [rsp + 0x68]
xor r8d, r8d
and dword [rsp + 0x20], 0
mov rcx, rsi
lea edx, [r8 + 0xd]
call fcn.180020968
mov rcx, rdi
call fcn.18002dbd4
mov r11, qword [rsi + 0x30]
mov rdx, qword [r11 + 0x88]
test rdx, rdx
je 0x18002e891
or eax, 0xffffffff
sub eax, dword [rbp + 0x70]
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
mov rcx, qword [rsp + 0x78]
dec eax
mov dword [r11 + 0x6c], eax
mov rax, qword [rsp + 0x58]
add rax, 0x50
sub qword [rsp + 0x48], 1
mov qword [rsp + 0x58], rax
jne 0x18002e806
mov rax, qword [rbp - 0x80]
test byte [rsp + 0x40], 1
je 0x18002e8ef
inc dword [rdi + 0x78]
lea rax, [rax + rax*4]
mov rdx, qword [rbp - 0x78]
mov r8d, ebx
mov rcx, rdi
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + rax*8]
call fcn.18002ebb4
mov rcx, rdi
call fcn.18002dbd4
jmp 0x18002e3ce
and dword [rsp + 0x20], 0
xor r8d, r8d
mov r9d, ebx
mov rcx, rsi
lea edx, [r8 + 0x4d]
call fcn.180020968
jmp 0x18002e3ce
mov ebx, dword [rbx + 0x2c]
jmp 0x18002e9fb
mov rdx, qword [rbx + 0x10]
jmp 0x18002e433
mov rdx, qword [rbx + 0x10]
cmp byte [rdx], 0x84
jne 0x18002e932
mov r8d, 1
call fcn.18002d99c
jmp 0x18002e981
and dword [rbp - 0x68], 0
lea r8, [rbp + 0x78]
lea rdx, [rbp - 0x70]
mov byte [rbp - 0x70], Ordinal_133
mov dword [rbp - 0x6c], 0x4400
call fcn.18002eab4
mov rdx, qword [rbp + 0x68]
lea r8, [rsp + 0x50]
mov rcx, rdi
mov ebx, eax
mov rdx, qword [rdx + 0x10]
call fcn.18002eab4
mov ecx, dword [rbp + 0x70]
mov r9d, ebx
mov dword [rsp + 0x20], ecx
mov r8d, eax
mov rcx, qword [rsp + 0x60]
mov edx, 0x2c
call fcn.180020968
mov ebx, dword [rbp + 0x70]
jmp 0x18002e9fb
mov rcx, qword [rbx + 0x38]
movsx rax, word [rbx + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], dl
jne 0x18002e9a0
mov ebx, dword [rax + 0x14]
jmp 0x18002e9fb
cmp byte [rcx + 1], dl
je 0x18002e29b
mov r8d, dword [rcx + 8]
mov edx, 0x5e
mov dword [rsp + 0x20], r9d
mov r9d, dword [rax + 0x10]
jmp 0x18002e9f0
mov ecx, dword [rdi + 0x74]
mov al, byte [rbx + 0x36]
movsx r8d, word [rbx + 0x30]
mov rdx, qword [rbx + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r9d
mov r9d, ecx
mov rcx, rdi
call fcn.18002dd3c
jmp 0x18002e438
xor r8d, r8d
mov dword [rsp + 0x20], edx
lea edx, [r8 + 0x4d]
mov rcx, r10
call fcn.180020968
mov ebx, dword [rbp + 0x60]
mov edx, dword [rbp + 0x78]
mov rcx, rdi
call fcn.18002fbd0
mov edx, dword [rsp + 0x50]
call fcn.18002fbd0
mov eax, ebx
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret