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

Disassembly:
mov rax, rsp
push r12
sub rsp, 0xa0
mov qword [rax + 0x10], rbx
xor r12d, r12d
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
movabs rsi, 0xd80958fc74e988a6
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], r13
mov r13, rcx
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x38], xmm6
cmp byte [rcx], r12b
je 0x180025cef
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
lea edx, [r12 + 0x41]
lea r8d, [r12 + 1]
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.18002c0b0
cmp byte [r13 + 4], r12b
je 0x180025d5d
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 0x3a83126f
movabs rcx, 0x364df566ec833de2
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
cmp byte [r13 + 5], r12b
je 0x180025d6d
mov edx, 0x16
call fcn.18002c030
cmp byte [r13 + 8], r12b
je 0x180025ddb
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 1
movabs rcx, 0x428ca6dbd1094446
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
movzx edx, byte [r13 + 0xf]
mov rcx, r13
call fcn.18002c710
movzx edx, byte [r13 + 0x14]
call fcn.18002cee0
movss xmm2, dword [r13 + 0x1c]
movzx edx, byte [r13 + 0x18]
call fcn.18002d300
movss xmm6, dword [r13 + 0x24]
cmp byte [r13 + 0x20], r12b
je 0x180025e74
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
movss dword [rcx + rdx*8], xmm6
movabs rcx, 0x85bf80fa50a39d1
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
movss xmm6, dword [r13 + 0x2c]
cmp byte [r13 + 0x28], r12b
je 0x180025ee6
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
movss dword [rcx + rdx*8], xmm6
movabs rcx, 0xb3e35ac043707d9
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
cmp byte [r13 + 0x30], r12b
je 0x180025fde
movss xmm0, dword [0x1801331d4]
mov r9d, 0x49d9
movd xmm6, dword [r13 + 0x70]
movaps xmmword [rsp + 0x60], xmm7
movd xmm7, dword [r13 + 0x6c]
movaps xmmword [rsp + 0x50], xmm8
movd xmm8, dword [r13 + 0x68]
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm7, xmm7
divss xmm6, xmm0
divss xmm7, xmm0
movss dword [rsp + 0x40], xmm6
cvtdq2ps xmm8, xmm8
movss dword [rsp + 0x38], xmm7
divss xmm8, xmm0
movss xmm0, dword [r13 + 0x34]
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x20], xmm0
call fcn.18002c4e0
movss xmm0, dword [r13 + 0x34]
mov r9d, 0xdead
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x20], xmm0
call fcn.18002c4e0
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
cmp byte [r13 + 0x31], r12b
je 0x180025fde
mov ecx, dword [r13 + 0x68]
mov eax, ecx
test ecx, ecx
jle 0x180025fac
cmp dword [r13 + 0x70], r12d
jne 0x180025fac
inc dword [r13 + 0x6c]
lea eax, [rcx - 1]
mov dword [r13 + 0x68], eax
mov ecx, dword [r13 + 0x6c]
mov edx, ecx
test ecx, ecx
jle 0x180025fc5
test eax, eax
jne 0x180025fc5
inc dword [r13 + 0x70]
lea edx, [rcx - 1]
mov dword [r13 + 0x6c], edx
mov ecx, dword [r13 + 0x70]
test ecx, ecx
jle 0x180025fde
test edx, edx
jne 0x180025fde
inc eax
mov dword [r13 + 0x68], eax
lea eax, [rcx - 1]
mov dword [r13 + 0x70], eax
movaps xmm6, xmmword [rsp + 0x70]
cmp byte [r13 + 0x38], r12b
je 0x180026051
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 1
movabs rcx, 0x3882114bde571ad4
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
cmp byte [r13 + 0x39], r12b
je 0x180026129
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
movabs rcx, 0x15d757606d170c3c
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov edi, dword [rcx]
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], edi
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r12d
movabs rcx, 0x6b76dc1f3ae6e6a3
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
movzx edx, byte [r13 + 0x3a]
call fcn.18002d500
cmp byte [r13 + 0x3b], r12b
je 0x1800261c4
mov rbx, qword [0x1801ee2a8]
mov rax, qword [rbx + 0x48]
mov rax, qword [rax]
test rax, rax
je 0x180026162
mov rax, qword [rax + 8]
test rax, rax
je 0x180026162
mov rcx, qword [rax + 0x10a8]
jmp 0x180026165
mov rcx, r12
mov dword [rcx + 0x8d8], r12d
mov rax, qword [rbx + 0x48]
mov rax, qword [rax]
test rax, rax
je 0x18002618a
mov rax, qword [rax + 8]
test rax, rax
je 0x18002618a
mov rcx, qword [rax + 0x10a8]
jmp 0x18002618d
mov rcx, r12
mov byte [rcx + 0x8d0], r12b
mov rcx, qword [rbx + 0xf8]
mov r8, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 0x100]
mov r8, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [r13 + 0x60]
movzx edx, byte [r13 + 0x3c]
call fcn.18002d7e0
movzx edx, byte [r13 + 0x3d]
call fcn.18002da10
cmp byte [r13 + 0x3e], r12b
je 0x180026214
mov rax, qword [0x1801ee2a8]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x180026207
mov rax, qword [rax + 8]
test rax, rax
je 0x180026207
mov rax, qword [rax + 0x10a8]
jmp 0x18002620a
mov rax, r12
mov dword [rax + 0xd44], 0x42c80000
movzx edx, byte [r13 + 0x3f]
call fcn.18002dbe0
movabs rbx, 0x4f8644af03d0e0d6
movabs rdi, 0x7a5487fe9faa6b48
cmp byte [r13 + 0x40], r12b
je 0x1800262cf
call fcn.180025b40
mov rcx, rbx
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul rdx, rax, 0x1d2
mov rax, qword [0x1801ee2a8]
add rdx, 0x288e08
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
mov rax, qword [rax + 0x80]
and ecx, 0x3f
mov rax, qword [rax + rcx*8]
mov dword [rax + rdx*8], 1
call fcn.180025b40
mov rcx, rdi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov r8, qword [0x1801ee2a8]
mov rcx, qword [rax]
mov rax, qword [r8 + 0x80]
mov edx, dword [rcx]
mov rcx, qword [rax + 0x50]
add edx, 0x3c
mov dword [rcx + 0x63d90], edx
jmp 0x1800262d6
mov r8, qword [0x1801ee2a8]
cmp byte [r13 + 0x41], r12b
je 0x18002632b
mov rax, qword [r8 + 0x80]
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x158420], 1
call fcn.180025b40
mov rcx, rdi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov rax, qword [0x1801ee2a8]
mov edx, dword [rcx]
mov rcx, qword [rax + 0x80]
add edx, 0x3c
mov rax, qword [rcx + 0x50]
mov dword [rax + 0x158438], edx
cmp byte [r13 + 0x42], r12b
je 0x1800263c8
call fcn.180025b40
mov rcx, rbx
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul r8, rax, 0x1d2
mov rax, qword [0x1801ee2a8]
add r8, 0x288e0b
mov rdx, r8
and r8d, 0x3ffff
shr rdx, 0x12
mov rax, qword [rax + 0x80]
and edx, 0x3f
mov rax, qword [rax + rdx*8]
mov dword [rax + r8*8], 1
call fcn.180025b40
mov rcx, rdi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov rax, qword [0x1801ee2a8]
mov edx, dword [rcx]
mov rcx, qword [rax + 0x80]
add edx, 0x3c
mov rax, qword [rcx + 0x50]
mov dword [rax + 0x63d98], edx
cmp byte [r13 + 0x43], r12b
je 0x180026462
call fcn.180025b40
mov rcx, rbx
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul rdx, rax, 0x35e
mov rax, qword [0x1801ee2a8]
add rdx, 0x1c4d17
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
mov rax, qword [rax + 0x80]
and ecx, 0x3f
mov rax, qword [rax + rcx*8]
mov dword [rax + rdx*8], 0xffffffff
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
movabs rcx, 0x18f621f7a5b1f85d
mov r8d, dword [rax + 8]
mov rdx, qword [rax + 0x10]
mov dword [rdx + r8*8], 1
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
cmp byte [r13 + 0x44], r12b
je 0x1800264fa
call fcn.180025b40
mov rcx, rbx
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul rdx, rax, 0x35e
mov rax, qword [0x1801ee2a8]
add rdx, 0x1c4d17
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
mov rax, qword [rax + 0x80]
and ecx, 0x3f
mov rax, qword [rax + rcx*8]
mov dword [rax + rdx*8], 0xffffffff
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 1
movabs rcx, 0x7e08924259e08ce0
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
movzx edx, byte [r13 + 0x45]
call fcn.18002dee0
cmp byte [r13 + 0x46], r12b
je 0x180026586
mov edi, dword [0x1801ee9d8]
add edi, 0xc
mov dword [0x1801ee9d8], edi
call fcn.180025b40
mov rcx, rsi
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180025b40
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
movss dword [rcx + rdx*8], xmm0
movabs rcx, 0x8e2530aa8ada980e
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
movzx r15d, byte [r13 + 0xd]
movzx r14d, byte [r13 + 0xc]
movzx ebp, byte [r13 + 0xb]
movzx esi, byte [r13 + 0xa]
movzx edi, byte [r13 + 9]
call fcn.180025b40
movabs rcx, 0xd80958fc74e988a6
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.1800259e0
call fcn.180025b40
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180025b40
mov dword [rax + 8], r12d
mov dword [rax + 0x18], r12d
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], edi
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], esi
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebp
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r14d
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r15d
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r12d
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r12d
inc dword [rax + 8]
call fcn.180025b40
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], r12d
movabs rcx, 0xfaee099c6f890bb8
inc dword [rax + 8]
call fcn.1800259e0
call fcn.180025b40
cmp byte [r13 + 0xe], r12b
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb8]
je 0x1800266f5
mov rax, qword [0x1801ee2a8]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1800266e4
mov rax, qword [rax + 8]
jmp 0x1800266e7
mov rax, r12
mov rax, qword [rax + 0x10a0]
mov dword [rax + 0x278], r12d
add rsp, 0xa0
pop r12
ret