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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov rax, qword [0x18066dcd8]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [rcx + 0x40]
xor ebp, ebp
mov r11, qword [rcx + 0x10]
mov r15d, 0xff
mov r12, qword [rcx + 0x50]
mov r14, rdx
mov qword [rsp + 0x50], r9
mov ebx, dword [rax + 4]
mov esi, dword [rax]
mov rax, qword [rdx + 0x40]
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xc0], rdx
mov dword [rsp + 0x30], ebx
mov edi, dword [rax + 4]
mov r10d, dword [rax]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x180]
sar eax, 3
and eax, 0x1ff
mov dword [rsp + 0x34], esi
inc eax
mov dword [rsp + 0x3c], edi
cvtsd2si r9d, qword [rcx + 0x18]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x48], r12
cmp r9d, r15d
jbe 0x18044bdf6
test r9d, r9d
mov eax, ebp
cmovg eax, r15d
mov r9d, eax
cvtsd2si r8d, qword [rcx + 0x10]
cmp r8d, r15d
jbe 0x18044be0d
test r8d, r8d
mov eax, ebp
cmovg eax, r15d
mov r8d, eax
cvtsd2si edx, qword [rcx + 8]
cmp edx, r15d
jbe 0x18044be21
test edx, edx
mov eax, ebp
cmovg eax, r15d
mov edx, eax
cvtsd2si ecx, qword [rcx]
cmp ecx, r15d
jbe 0x18044be40
test ecx, ecx
mov eax, ebp
cmovg eax, r15d
mov ecx, eax
nop dword [rax]
nop dword [rax + rax]
cmp dword [rsp + 0x178], 5
lea eax, [rbx - 7]
mov rbx, qword [rsp + 0x50]
mov r15d, 4
cmovne r15d, dword [rsp + 0x178]
test eax, eax
mov byte [rsp + 0x26], r8b
mov r8, qword [rsp + 0x68]
cmovs eax, ebp
mov dword [rsp + 0x58], eax
lea eax, [rsi - 7]
test eax, eax
mov byte [rsp + 0x24], cl
mov byte [rsp + 0x25], dl
cmovs eax, ebp
mov byte [rsp + 0x27], r9b
mov dword [rsp + 0x5c], eax
mov eax, dword [r14]
shr eax, 0xe
mov dword [rsp + 0x38], r15d
test al, 1
je 0x18044bebb
mov eax, dword [r8]
shr eax, 0xe
test al, 1
je 0x18044bebb
mov eax, dword [rbx]
shr eax, 0xe
test al, 1
je 0x18044bebb
imul edi, r10d
mov r10d, 1
mov dword [rsp + 0x3c], edi
mov r9d, dword [rsp + 0x20]
mov qword [rsp + 0x60], r9
mov r13d, r9d
test r10d, r10d
jle 0x18044c2bd
mov rdx, rbp
mov qword [rsp + 0xa0], r10
mov rcx, rbp
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], rcx
nop
mov rax, qword [r14 + 0x48]
mov rbp, qword [rax]
mov rax, qword [r8 + 0x48]
mov r8, qword [r8 + 0x10]
imul rbp, rcx
mov rcx, qword [rax]
add rbp, qword [r14 + 0x10]
mov rax, qword [rbx + 0x48]
imul rcx, rdx
mov rax, qword [rax]
imul rax, rdx
add r8, rcx
mov qword [rsp + 0x40], rbp
add rax, qword [rbx + 0x10]
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0x80], rax
test edi, edi
jle 0x18044c288
xor r10d, r10d
mov edx, edi
mov ecx, r10d
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x78], rcx
movsx edx, word [rcx + r8]
movzx ebx, word [rax]
movsx r8d, word [r8 + rcx + 2]
shl rbx, 7
add rbx, qword [rsp + 0x170]
lea r14d, [rdx - 3]
mov eax, r14d
imul eax, r9d
lea edi, [r8 - 3]
movsxd rcx, edi
imul rcx, r12
movsxd r9, eax
lea rax, [r11 + rcx]
add r9, rax
cmp r14d, dword [rsp + 0x58]
jae 0x18044c2e8
cmp edi, dword [rsp + 0x5c]
jae 0x18044c2e8
xor eax, eax
mov r10d, eax
test r13, r13
je 0x18044c21c
lea rsi, [r13*2]
lea rbp, [r13*4]
add rsi, r13
add rbp, r13
lea r14, [r13*2]
imul rdi, r13, 7
add r14, r13
lea r15, [r12*8]
jmp 0x18044bfe2
xor eax, eax
mov r8d, eax
mov r11d, 2
nop dword [rax + rax]
movzx edx, byte [r9 + r13]
movzx ecx, byte [r9 + r13*2]
movsx eax, word [rbx + 2]
imul edx, eax
movsx eax, word [rbx + 4]
imul ecx, eax
movsx eax, word [rbx + 6]
add edx, ecx
movzx ecx, byte [r14 + r9]
imul ecx, eax
movsx eax, word [rbx + 8]
add edx, ecx
movzx ecx, byte [r9 + r13*4]
imul ecx, eax
movsx eax, word [rbx + 0xa]
add edx, ecx
movzx ecx, byte [r9 + rbp]
imul ecx, eax
movsx eax, word [rbx + 0xc]
add edx, ecx
movzx ecx, byte [r9 + rsi*2]
imul ecx, eax
movsx eax, word [rbx + 0xe]
add edx, ecx
movzx ecx, byte [rdi + r9]
imul ecx, eax
movsx eax, word [rbx]
add edx, ecx
movzx ecx, byte [r9]
imul ecx, eax
add r9, r12
movsx eax, word [rbx + 0x12]
add r8d, ecx
movzx ecx, byte [r9 + r13*2]
add r8d, edx
movzx edx, byte [r9 + r13]
imul edx, eax
movsx eax, word [rbx + 0x14]
imul ecx, eax
movsx eax, word [rbx + 0x16]
add edx, ecx
movzx ecx, byte [r14 + r9]
imul ecx, eax
movsx eax, word [rbx + 0x18]
add edx, ecx
movzx ecx, byte [r9 + r13*4]
imul ecx, eax
movsx eax, word [rbx + 0x1a]
add edx, ecx
movzx ecx, byte [r9 + rbp]
imul ecx, eax
movsx eax, word [rbx + 0x1c]
add edx, ecx
movzx ecx, byte [r9 + rsi*2]
imul ecx, eax
movsx eax, word [rbx + 0x1e]
add edx, ecx
movzx ecx, byte [rdi + r9]
imul ecx, eax
movzx eax, byte [r9]
add r9, r12
add edx, ecx
movsx ecx, word [rbx + 0x10]
imul ecx, eax
movsx eax, word [rbx + 0x22]
add r8d, ecx
movzx ecx, byte [r9 + r13*2]
add r8d, edx
movzx edx, byte [r9 + r13]
imul edx, eax
movsx eax, word [rbx + 0x24]
imul ecx, eax
movsx eax, word [rbx + 0x26]
add edx, ecx
movzx ecx, byte [r14 + r9]
imul ecx, eax
movsx eax, word [rbx + 0x28]
add edx, ecx
movzx ecx, byte [r9 + r13*4]
imul ecx, eax
add edx, ecx
movzx ecx, byte [r9 + rbp]
movsx eax, word [rbx + 0x2a]
imul ecx, eax
movsx eax, word [rbx + 0x2c]
add edx, ecx
movzx ecx, byte [r9 + rsi*2]
imul ecx, eax
movsx eax, word [rbx + 0x2e]
add edx, ecx
movzx ecx, byte [rdi + r9]
imul ecx, eax
movzx eax, byte [r9]
add r9, r12
add edx, ecx
movsx ecx, word [rbx + 0x20]
imul ecx, eax
movsx eax, word [rbx + 0x32]
add r8d, ecx
movzx ecx, byte [r9 + r13*2]
add r8d, edx
movzx edx, byte [r9 + r13]
imul edx, eax
movsx eax, word [rbx + 0x34]
imul ecx, eax
movsx eax, word [rbx + 0x36]
add edx, ecx
movzx ecx, byte [r14 + r9]
imul ecx, eax
movsx eax, word [rbx + 0x38]
add edx, ecx
movzx ecx, byte [r9 + r13*4]
imul ecx, eax
movsx eax, word [rbx + 0x3a]
add edx, ecx
movzx ecx, byte [r9 + rbp]
imul ecx, eax
movsx eax, word [rbx + 0x3c]
add edx, ecx
movzx ecx, byte [r9 + rsi*2]
imul ecx, eax
movsx eax, word [rbx + 0x3e]
add edx, ecx
movzx ecx, byte [rdi + r9]
imul ecx, eax
movzx eax, byte [r9]
add r9, r12
add edx, ecx
movsx ecx, word [rbx + 0x30]
imul ecx, eax
add rbx, 0x40
add r8d, ecx
add r8d, edx
sub r11, 1
jne 0x18044bff0
mov eax, 1
lea ecx, [r8 + 0x4000]
sub rax, r15
sar ecx, 0xf
add r9, rax
add rbx, 0xffffffffffffff80
mov edx, 0xff
cmp ecx, edx
jbe 0x18044c1f8
xor eax, eax
test ecx, ecx
cmovg eax, edx
mov ecx, eax
mov rax, qword [rsp + 0x40]
mov byte [r10 + rax], cl
inc r10
cmp r10, r13
jl 0x18044bfe0
mov r11, qword [rsp + 0x28]
mov rbp, rax
mov esi, dword [rsp + 0x34]
xor r10d, r10d
mov r9d, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x78]
add rbp, r13
mov rax, qword [rsp + 0x80]
add rcx, 4
mov r15d, dword [rsp + 0x38]
add rax, 2
sub qword [rsp + 0x88], 1
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x40], rbp
jne 0x18044bf52
mov rdx, qword [rsp + 0x98]
mov edi, dword [rsp + 0x3c]
mov r14, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
inc rdx
mov r8, qword [rsp + 0x68]
inc rcx
sub r10, 1
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x98], rdx
jne 0x18044bef0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.18042cdf0
mov rbx, qword [rsp + 0x168]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [rsp + 0x178], 5
mov eax, dword [rsp + 0x30]
jne 0x18044c307
cmp edx, eax
jae 0x18044c21c
cmp r8d, esi
jae 0x18044c21c
test r15d, r15d
jne 0x18044c359
cmp r14d, eax
jge 0x18044c324
lea eax, [r14 + 8]
test eax, eax
jle 0x18044c324
cmp edi, esi
jge 0x18044c324
lea eax, [rdi + 8]
test eax, eax
jg 0x18044c359
test r13, r13
je 0x18044c21c
mov rdx, rbp
lea r8, [rsp + 0x24]
neg rdx
mov rcx, rbp
add r8, rdx
nop
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
lea rax, [rcx + rdx]
cmp rax, r13
jl 0x18044c340
jmp 0x18044c21c
mov r12d, dword [rsp + 0x34]
mov rsi, r10
mov ebp, dword [rsp + 0x30]
sub r14d, edi
mov r13d, dword [rsp + 0x20]
nop dword [rax]
lea ecx, [r14 + rdi]
mov r8d, r15d
mov edx, ebp
call fcn.1804714e0
imul eax, r13d
mov r8d, r15d
mov edx, r12d
mov ecx, edi
mov dword [rsp + rsi + 0xc8], eax
call fcn.1804714e0
mov dword [rsp + rsi + 0xe8], eax
inc edi
add rsi, 4
cmp rsi, 0x20
jl 0x18044c370
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
test r13, r13
je 0x18044c680
movsxd r11, dword [rsp + 0xe4]
mov rax, rbp
mov rdi, qword [rsp + 0xe0]
mov rcx, rbp
mov rsi, qword [rsp + 0xdc]
lea rbp, [rsp + 0x24]
mov r14, qword [rsp + 0xd4]
neg rax
mov r15, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xcc]
movsxd r13, dword [rsp + 0xc8]
mov qword [rsp + 0xa8], rax
add rax, rbp
mov rbp, qword [rsp + 0xd8]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x70], rcx
nop word [rax + rax]
movzx r8d, byte [rax + rcx]
mov rcx, qword [rsp + 0x28]
mov edx, r8d
shl edx, 0xf
xor r10d, r10d
movsxd rax, dword [rsp + r10*4 + 0xe8]
mov r9, rax
imul r9, qword [rsp + 0x48]
add r9, rcx
test eax, eax
js 0x18044c523
test r13d, r13d
js 0x18044c475
movzx ecx, byte [r13 + r9]
movsx eax, word [rbx]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test r12d, r12d
js 0x18044c48e
movsxd rax, r12d
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 2]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test r15d, r15d
js 0x18044c4a7
movsxd rax, r15d
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 4]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test r14d, r14d
js 0x18044c4c0
movsxd rax, r14d
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 6]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test ebp, ebp
js 0x18044c4d8
movsxd rax, ebp
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 8]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test esi, esi
js 0x18044c4f0
movsxd rax, esi
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 0xa]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test edi, edi
js 0x18044c508
movsxd rax, edi
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 0xc]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test r11d, r11d
js 0x18044c51e
movzx ecx, byte [r11 + r9]
movsx eax, word [rbx + 0xe]
sub ecx, r8d
imul ecx, eax
add edx, ecx
mov rcx, qword [rsp + 0x28]
movsxd rax, dword [rsp + r10*4 + 0xec]
mov r9, rax
imul r9, qword [rsp + 0x48]
add r9, rcx
test eax, eax
js 0x18044c604
test r13d, r13d
js 0x18044c556
movzx ecx, byte [r13 + r9]
movsx eax, word [rbx + 0x10]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test r12d, r12d
js 0x18044c56f
movsxd rax, r12d
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 0x12]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test r15d, r15d
js 0x18044c588
movsxd rax, r15d
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 0x14]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test r14d, r14d
js 0x18044c5a1
movsxd rax, r14d
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 0x16]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test ebp, ebp
js 0x18044c5b9
movsxd rax, ebp
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 0x18]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test esi, esi
js 0x18044c5d1
movsxd rax, esi
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 0x1a]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test edi, edi
js 0x18044c5e9
movsxd rax, edi
movzx ecx, byte [rax + r9]
movsx eax, word [rbx + 0x1c]
sub ecx, r8d
imul ecx, eax
add edx, ecx
test r11d, r11d
js 0x18044c5ff
movzx ecx, byte [r11 + r9]
movsx eax, word [rbx + 0x1e]
sub ecx, r8d
imul ecx, eax
add edx, ecx
mov rcx, qword [rsp + 0x28]
add rbx, 0x20
add r10, 2
cmp r10, 8
jl 0x18044c443
add edx, 0x4000
mov ecx, 0xff
sar edx, 0xf
cmp edx, ecx
jbe 0x18044c631
xor eax, eax
test edx, edx
cmovg eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x70]
add rbx, 0xffffffffffffff80
mov rax, qword [rsp + 0xa8]
mov byte [rcx], dl
inc rcx
mov rdx, qword [rsp + 0x28]
add rax, rcx
inc rdx
mov qword [rsp + 0x70], rcx
cmp rax, qword [rsp + 0x60]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rdx
jl 0x18044c430
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x40]
jmp 0x18044c685
mov rdx, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x20]
mov esi, dword [rsp + 0x34]
sub rdx, r9
mov qword [rsp + 0x28], rdx
mov r11, rdx
xor r10d, r10d
jmp 0x18044c221