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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
sub rsp, 0x30
cmp byte [rcx + 0x425c4], 0
mov rbp, rdx
movzx r13d, byte [rcx + 0x2f]
mov rdi, rcx
je 0x180034834
call fcn.180036310
lea rbx, [rdi + 0x423c8]
mov qword [rsp + 0x70], r14
lea rcx, [rbx + 0x28]
mov qword [rsp + 0x78], r15
mov edx, 0xffffffff
call fcn.1800645f0
test al, al
je 0x1800348bf
lea rcx, [rbx + 8]
mov qword [rsp + 0x68], r12
call fcn.1800645e0
mov ecx, dword [rbx + 0x40]
mov rax, qword [rbx]
mov r14d, dword [rbx + 0x38]
mov rsi, qword [rax + rcx*8]
lea eax, [rcx + 1]
mov dword [rbx + 0x40], eax
cmp eax, r14d
jb 0x180034884
sub eax, r14d
mov dword [rbx + 0x40], eax
mov r15d, dword [rbx + 0x3c]
lea rcx, [rbx + 0x18]
lea eax, [r15 - 1]
mov dword [rbx + 0x3c], eax
call fcn.180064e00
lea rcx, [rbx + 8]
call fcn.180065570
mov rcx, qword [rbx + 0x48]
mov r12, qword [rsp + 0x68]
test rcx, rcx
je 0x1800348c4
cmp r15d, r14d
jne 0x1800348c4
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x10]
jmp 0x1800348c4
mov rsi, qword [rsp + 0x60]
mov rax, qword [rbp + 0x30]
lea rbx, [rdi + 0x42378]
mov qword [rsi], rax
lea rcx, [rbx + 0x18]
mov rax, qword [rbp + 0x38]
xor edx, edx
mov qword [rsi + 8], rax
call fcn.1800645f0
test al, al
je 0x180034941
lea rcx, [rbx + 8]
call fcn.1800645e0
mov ecx, dword [rbx + 0x44]
mov rax, qword [rbx]
mov qword [rax + rcx*8], rsi
mov eax, dword [rbx + 0x44]
mov edx, dword [rbx + 0x38]
inc eax
mov dword [rbx + 0x44], eax
cmp eax, edx
jb 0x180034910
sub eax, edx
mov dword [rbx + 0x44], eax
mov esi, dword [rbx + 0x3c]
lea rcx, [rbx + 0x28]
lea eax, [rsi + 1]
mov dword [rbx + 0x3c], eax
call fcn.180064e00
lea rcx, [rbx + 8]
call fcn.180065570
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x180034941
test esi, esi
jne 0x180034941
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
mov eax, dword [rdi + 0x425a0]
mov rdx, rbp
mov rsi, qword [rdi + 0x42598]
mov r8d, 0xd28
imul rcx, rax, 0x1ab8
add rsi, 8
add rsi, rcx
mov rcx, rsi
call fcn.18006b4f0
mov eax, dword [rdi + 0x425a0]
imul rcx, rax, 0x1ab8
mov rax, qword [rdi + 0x42598]
mov dword [rcx + rax], 0xff
cmp qword [rsi + 0x6d0], 0
je 0x180034a99
mov rdx, rbp
mov rcx, rdi
call fcn.18002a8c0
test al, al
jne 0x1800349af
mov eax, 8
jmp 0x180034d7e
mov r9d, dword [rdi + 0x1c]
lea rdx, [rdi + 0xa3c0]
mov r8d, dword [rdi + 0x18]
add r9d, 0x3f
mov rax, qword [rdi]
add r8d, 0x3f
shr r9d, 6
mov rcx, rdi
shr r8d, 6
call qword [rax + 0xc8]
mov ecx, dword [rsi + 0x6d8]
mov rbx, rax
mov r15, qword [rsi + 0x6d0]
mov r14, rax
lea rdx, [rcx + rcx*2]
mov ecx, dword [rdi + 0x425a0]
add rdx, rdx
cmp rdx, rax
cmovb rbx, rdx
imul rdx, rcx, 0x1ab8
mov rcx, qword [rdi + 0x42598]
mov rcx, qword [rdx + rcx + 0x1a78]
test rbx, rbx
je 0x180034a76
test rcx, rcx
jne 0x180034a2e
call fcn.18007a210
mov dword [rax], 0x16
jmp 0x180034a71
test r15, r15
je 0x180034a45
cmp r14, rbx
jb 0x180034a45
mov r8, rbx
mov rdx, r15
call fcn.18006b4f0
jmp 0x180034a76
mov r8, r14
xor edx, edx
call fcn.18006b2e0
test r15, r15
jne 0x180034a61
call fcn.18007a210
mov dword [rax], 0x16
jmp 0x180034a71
cmp r14, rbx
jae 0x180034a76
call fcn.18007a210
mov dword [rax], 0x22
call fcn.18007a018
mov eax, dword [rdi + 0x425a0]
imul rcx, rax, 0x1ab8
mov rax, qword [rdi + 0x42598]
mov rcx, qword [rcx + rax + 0x1a78]
mov qword [rsi + 0x6d0], rcx
mov rax, qword [rdi + 0xa3b0]
cmp dword [rax + 0x88], 0
je 0x180034b30
mov rdx, qword [rsi + 0x6b0]
test rdx, rdx
je 0x180034b30
cmp dword [rsi + 0x6b8], 0
je 0x180034b30
mov ecx, dword [rdi + 0x1c]
mov eax, dword [rdi + 0x18]
add ecx, 0x3f
add eax, 0x3f
shr ecx, 6
shr eax, 6
imul ecx, eax
cmp dword [rbp + 0x6b8], ecx
jae 0x180034ae9
mov eax, 0xe
jmp 0x180034d7e
mov eax, dword [rdi + 0x425a0]
mov r8d, ecx
mov rcx, qword [rdi + 0x42598]
imul r9, rax, 0x1ab8
mov rcx, qword [r9 + rcx + 0x1a80]
call fcn.18006b4f0
mov eax, dword [rdi + 0x425a0]
imul rcx, rax, 0x1ab8
mov rax, qword [rdi + 0x42598]
mov rcx, qword [rcx + rax + 0x1a80]
mov qword [rsi + 0x6b0], rcx
test dword [rsi + 0x60], 0x200
je 0x180034c08
mov rdx, qword [rsi + 0x90]
test rdx, rdx
je 0x180034c08
mov eax, dword [rdi + 0x425a0]
imul rcx, rax, 0x1ab8
mov rax, qword [rdi + 0x42598]
mov r8, qword [rcx + rax + 0x1ab0]
test r8, r8
je 0x180034c08
movups xmm0, xmmword [rdx]
movups xmmword [r8], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [r8 + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [r8 + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [r8 + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [r8 + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [r8 + 0x60], xmm0
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [r8 + 0x70], xmm1
movups xmm0, xmmword [rdx + 0x80]
movups xmmword [r8 + 0x80], xmm0
movsd xmm1, qword [rdx + 0x90]
movsd qword [r8 + 0x90], xmm1
mov eax, dword [rdx + 0x98]
mov dword [r8 + 0x98], eax
mov eax, dword [rdi + 0x425a0]
imul rcx, rax, 0x1ab8
mov rax, qword [rdi + 0x42598]
mov rcx, qword [rcx + rax + 0x1ab0]
mov qword [rsi + 0x90], rcx
test dword [rsi + 0x60], 0x100
je 0x180034cf5
mov rdx, qword [rsi + 0x70]
test rdx, rdx
je 0x180034cf5
cmp qword [rsi + 0x78], 0
je 0x180034cf5
mov eax, dword [rdi + 0x425a0]
imul rcx, rax, 0x1ab8
mov rax, qword [rdi + 0x42598]
mov r9, qword [rcx + rax + 0x1aa0]
test r9, r9
je 0x180034cf5
cmp qword [rcx + rax + 0x1aa8], 0
je 0x180034cf5
mov ebx, 0x40
mov rcx, r9
cmp dword [rsi + 0x64], ebx
mov r8d, ebx
cmovb r8d, dword [rsi + 0x64]
lea r8d, [r8*4]
call fcn.18006b4f0
mov eax, dword [rdi + 0x425a0]
mov rdx, qword [rsi + 0x78]
imul rcx, rax, 0x1ab8
mov rax, qword [rdi + 0x42598]
cmp dword [rsi + 0x68], ebx
cmovb ebx, dword [rsi + 0x68]
mov rcx, qword [rcx + rax + 0x1aa0]
mov qword [rsi + 0x70], rcx
mov eax, dword [rdi + 0x425a0]
mov rcx, qword [rdi + 0x42598]
lea r8d, [rbx*4]
imul r9, rax, 0x1ab8
mov rcx, qword [r9 + rcx + 0x1aa8]
call fcn.18006b4f0
mov eax, dword [rdi + 0x425a0]
imul rcx, rax, 0x1ab8
mov rax, qword [rdi + 0x42598]
mov rcx, qword [rcx + rax + 0x1aa8]
mov qword [rsi + 0x78], rcx
mov eax, dword [rdi + 0x425a0]
mov r8, rsi
mov r10, qword [rdi]
mov rdx, rsi
imul r9, rax, 0x1ab8
mov rcx, rdi
add r9, qword [rdi + 0x42598]
lea rax, [r9 + 0x1a98]
add r9, 0x1a90
mov qword [rsp + 0x20], rax
call qword [r10 + 0xa8]
test eax, eax
jne 0x180034d7e
test r13b, r13b
jne 0x180034d6f
inc dword [rdi + 0x425a0]
xor edx, edx
inc dword [rdi + 0x42360]
mov rcx, rdi
inc dword [rdi + 0x42364]
inc dword [rdi + 0x42368]
cmp byte [rdi + 0x4234b], dl
je 0x180034d68
mov rax, qword [rdi]
call qword [rax + 0xe0]
jmp 0x180034d7e
call fcn.1800358a0
jmp 0x180034d7e
cmp dword [rdi + 0xa394], 0
mov ecx, 0x11
cmove eax, ecx
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
add rsp, 0x30
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret