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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x24
mov ebp, edx
mov edx, ecx
mov eax, ebp
sub eax, ecx
cmp eax, 0xee404
jge 0x10216c96
mov ecx, edx
mov edx, ebp
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
jmp 0x10217140
mov esi, dword [esp + 0x38]
mov edi, 0x23755a23
mov ecx, edx
mov dword [esp + 0x18], ebp
jmp 0x10216cd9
mov ecx, edi
mov edx, ebp
push esi
call fcn.10216c70
mov ecx, dword [esp + 4]
add esp, 4
mov eax, ebx
mov ebp, ebx
mov edx, ecx
mov dword [esp + 0x18], eax
sub eax, ecx
cmp eax, 0xee404
mov edi, 0x23755a23
jl 0x10216c86
test esi, esi
jle 0x10217119
mov dword [esp + 0x20], esi
shr eax, 2
mov dword [esp], ecx
mul edi
shr edx, 0xb
imul ebx, edx, 0x7384
mov ecx, dword [esp]
lea esi, [ecx + ebx]
mov dword [esp + 0x10], ebp
add ebp, 0xffff8c7c
mov eax, ebp
sub eax, ecx
cmp eax, 0x120ca1
jl 0x10216ea0
mov dword [esp + 0x1c], ebp
mov dword [esp + 4], ebx
shr eax, 2
mul edi
mov ebx, edx
mov ecx, dword [esp]
shr ebx, 0xa
add ebx, 1
shr ebx, 3
lea eax, [ebx + ebx]
mov dword [esp + 8], eax
imul edi, ebx, 0x7384
lea ebp, [ecx + edi]
cmp byte [ecx + edi + 0x14], 0
je 0x10216d55
push ecx
push ebp
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov dword [esp + 0x14], ebp
imul eax, dword [esp + 8], 0x7384
cmp byte [ecx + eax + 0x14], 0
je 0x10216d9e
imul eax, ebx, 0xe708
add eax, ecx
lea ebp, [ecx + edi]
add ebp, 0x14
push dword [esp + 0x14]
push eax
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
cmp byte [ebp], 0
je 0x10216d9e
push ecx
push dword [esp + 0x18]
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
neg ebx
imul ebx, ebx, 0x7384
lea edx, [esi + ebx]
mov eax, dword [esp + 4]
cmp byte [ecx + eax + 0x14], 0
mov ebp, dword [esp + 0x1c]
je 0x10216dce
push edx
push esi
mov dword [esp + 0x14], edx
call fcn.10218aa0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 4]
add eax, ecx
add eax, 0x14
mov dword [esp + 0xc], eax
cmp byte [esi + edi + 0x14], 0
je 0x10216e03
add edi, esi
push esi
push edi
mov edi, edx
call fcn.10218aa0
add esp, 8
mov eax, dword [esp + 0xc]
cmp byte [eax], 0
je 0x10216e03
push edi
push esi
call fcn.10218aa0
add esp, 8
lea edx, [ebx + ebp]
mov eax, dword [esp + 8]
neg eax
imul edi, eax, 0x7384
add edi, ebp
cmp byte [ebp + ebx + 0x14], 0
mov dword [esp + 8], edx
je 0x10216e2d
push edi
push edx
call fcn.10218aa0
mov edx, dword [esp + 0x10]
add esp, 8
add ebx, ebp
add ebx, 0x14
mov eax, dword [esp + 0x10]
cmp byte [eax - 0x7370], 0
je 0x10216e60
push edx
push ebp
call fcn.10218aa0
mov edx, dword [esp + 0x10]
add esp, 8
cmp byte [ebx], 0
je 0x10216e60
push edi
push edx
call fcn.10218aa0
mov edx, dword [esp + 0x10]
add esp, 8
mov eax, dword [esp + 0xc]
cmp byte [eax], 0
mov edi, dword [esp + 0x14]
je 0x10216e7b
push edi
push esi
call fcn.10218aa0
mov edx, dword [esp + 0x10]
add esp, 8
cmp byte [ebx], 0
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
je 0x10216ef0
push esi
push edx
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 0xc]
cmp byte [eax], 0
jne 0x10216edd
jmp 0x10216ef0
cmp byte [ecx + ebx + 0x14], 0
je 0x10216eb5
push ecx
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 0x10]
cmp byte [eax - 0x7370], 0
je 0x10216ef0
lea edi, [ecx + ebx]
add edi, 0x14
push esi
push ebp
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
cmp byte [edi], 0
mov edi, ecx
je 0x10216ef0
push edi
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
nop dword [eax + eax]
mov edx, esi
cmp esi, ecx
jbe 0x10216f0b
cmp byte [edx - 0x7370], 0
jne 0x10216f0b
lea esi, [edx - 0x7384]
cmp byte [edx + 0x14], 0
je 0x10216ef0
lea eax, [ecx + ebx]
add eax, 0x7384
mov ebp, dword [esp + 0x10]
mov ebx, edx
nop dword [eax]
mov esi, eax
cmp eax, ebp
jae 0x10216f38
cmp byte [esi + 0x14], 0
jne 0x10216f38
lea eax, [esi + 0x7384]
cmp byte [ebx + 0x14], 0
je 0x10216f20
mov dword [esp + 4], esi
mov edi, ebx
jmp 0x10216f54
push edi
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
add esi, 0x7384
cmp esi, ebp
jae 0x10216fb0
mov edx, dword [esp + 4]
mov dword [esp + 8], ebx
jmp 0x10216f7a
lea edx, [esi + 0x7384]
nop dword [eax + eax]
add esi, 0x7384
cmp esi, ebp
jae 0x10216fb4
cmp byte [ebx + 0x14], 0
jne 0x10216f70
cmp byte [esi + 0x14], 0
jne 0x10216fb4
cmp esi, edx
je 0x10216f62
push esi
push edx
mov ebx, ebp
mov ebp, edx
call fcn.10218aa0
mov edx, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
add esp, 8
add edx, 0x7384
jmp 0x10216f70
mov edx, dword [esp + 4]
cmp edi, ecx
mov dword [esp + 4], edx
jbe 0x10217010
add edi, 0xffff8c7c
jmp 0x10216fdc
mov ebx, edi
lea edi, [ebp - 0x7384]
cmp ebp, ecx
jbe 0x10217020
mov ebp, edi
cmp byte [edi + 0x14], 0
jne 0x10216fd2
lea eax, [ebp + 0x7384]
cmp byte [ebx + 0x14], 0
jne 0x10217028
lea edi, [ebx - 0x7384]
cmp eax, ebx
je 0x10216fd0
push ebp
push edi
call fcn.10218aa0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
add esp, 8
jmp 0x10216fd0
mov eax, edi
cmp eax, ecx
je 0x10217030
jmp 0x10217038
add edi, 0x7384
mov eax, edi
mov ebp, dword [esp + 0x10]
cmp eax, ecx
jne 0x10217038
cmp esi, ebp
je 0x102170d0
cmp eax, ecx
je 0x10217090
lea edi, [eax - 0x7384]
cmp esi, ebp
jne 0x10216f40
mov ecx, ebx
add ebx, 0xffff8c7c
cmp eax, ecx
je 0x10217064
push ebx
push edi
call fcn.10218aa0
mov edx, dword [esp + 0xc]
add esp, 8
add edx, 0xffff8c7c
mov dword [esp + 4], edx
push edx
push ebx
call fcn.10218aa0
add esp, 8
mov esi, ebp
mov ecx, dword [esp]
jmp 0x10216f54
cmp edx, esi
je 0x102170a2
push edx
push ebx
call fcn.10218aa0
mov edx, dword [esp + 0xc]
add esp, 8
add edx, 0x7384
mov dword [esp + 4], edx
push esi
push ebx
call fcn.10218aa0
add esp, 8
add ebx, 0x7384
add esi, 0x7384
mov ecx, dword [esp]
mov edi, ecx
jmp 0x10216f54
mov esi, dword [esp + 0x20]
mov eax, esi
sar eax, 1
sar esi, 2
add esi, eax
mov eax, ebx
sub eax, ecx
sar eax, 2
imul eax, eax, 0x48562721
mov edi, edx
mov edx, dword [esp + 0x18]
sub edx, edi
sar edx, 2
imul edx, edx, 0x48562721
cmp eax, edx
jge 0x10216cb0
mov edx, ebx
push esi
call fcn.10216c70
add esp, 4
mov ecx, edi
mov eax, ebp
mov edx, edi
jmp 0x10216cc7
mov esi, ecx
mov edx, ebp
call fcn.10217500
mov ecx, esi
mov edx, ebp
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
jmp 0x10217590
push ebp
push ebx
push edi
push esi
mov eax, 0x738c
call fcn.102e5760
mov dword [esp], edx
cmp ecx, edx
je 0x102174ee
mov edi, ecx
lea eax, [ecx + 0x7384]
cmp eax, dword [esp]
je 0x102174ee
lea ecx, [edi + 0x1c]
mov dword [esp + 0x20], ecx
mov ebx, 0x7414
lea edx, [esp + 0x98]
mov esi, edi
jmp 0x1021724c
mov ecx, dword [esp + 4]
mov dword [esi], ecx
mov ecx, dword [esp + 8]
mov dword [esi + 4], ecx
movss xmm0, dword [esp + 0xc]
movss dword [esi + 8], xmm0
movss xmm0, dword [esp + 0x10]
movss dword [esi + 0xc], xmm0
movss xmm0, dword [esp + 0x14]
movss dword [esi + 0x10], xmm0
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x18], eax
movups xmm0, xmmword [esp + 0x78]
movups xmm1, xmmword [esp + 0x88]
movups xmmword [esi + 0x1c], xmm0
movups xmmword [esi + 0x2c], xmm1
movups xmm0, xmmword [esp + 0x28]
movups xmmword [esi + 0x3c], xmm0
movups xmm0, xmmword [esp + 0x38]
movups xmmword [esi + 0x4c], xmm0
movups xmm0, xmmword [esp + 0x48]
movups xmmword [esi + 0x5c], xmm0
movups xmm0, xmmword [esp + 0x58]
movups xmmword [esi + 0x6c], xmm0
movups xmm0, xmmword [esp + 0x68]
movups xmmword [esi + 0x7c], xmm0
mov eax, esi
movss xmm0, dword [esp + 0x1c]
lea ebp, [esp + 0x98]
movss dword [eax + 0x8c], xmm0
add eax, 0x90
push 0x72f3
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, ebp
add esp, 0xc
lea eax, [esi + 0x7384]
add ebx, 0x7384
cmp eax, dword [esp]
je 0x102174ee
mov ecx, esi
mov esi, eax
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
movss xmm0, dword [ecx + 0x738c]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx + 0x7390]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [ecx + 0x7394]
movss dword [esp + 0x14], xmm0
mov eax, dword [ecx + 0x739c]
mov dword [esp + 0x18], eax
mov ebp, dword [ecx + 0x7398]
movups xmm0, xmmword [ecx + 0x73b0]
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [ecx + 0x73a0]
movups xmmword [esp + 0x78], xmm0
movups xmm0, xmmword [ecx + 0x73c0]
movups xmmword [esp + 0x28], xmm0
movups xmm0, xmmword [ecx + 0x73d0]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [ecx + 0x73e0]
movups xmmword [esp + 0x48], xmm0
movups xmm0, xmmword [ecx + 0x73f0]
movups xmmword [esp + 0x58], xmm0
movups xmm0, xmmword [ecx + 0x7400]
movups xmmword [esp + 0x68], xmm0
movss xmm0, dword [ecx + 0x7410]
movss dword [esp + 0x1c], xmm0
add ecx, 0x7414
push 0x72f3
push ecx
push edx
call sub.VCRUNTIME140.dll_memcpy
mov eax, ebp
add esp, 0xc
test al, al
je 0x10217190
mov dword [esp + 0x24], eax
cmp esi, edi
je 0x10217459
mov ebp, ebx
nop dword [eax]
lea eax, [edi + ebp]
mov ecx, dword [edi + ebp - 0x7414]
mov edx, dword [edi + ebp - 0x7410]
mov dword [edi + ebp - 0x8c], edx
mov dword [edi + ebp - 0x90], ecx
movss xmm0, dword [edi + ebp - 0x740c]
movss dword [edi + ebp - 0x88], xmm0
movss xmm0, dword [edi + ebp - 0x7408]
movss dword [edi + ebp - 0x84], xmm0
movss xmm0, dword [edi + ebp - 0x7404]
movss dword [edi + ebp - 0x80], xmm0
mov ecx, dword [edi + ebp - 0x7400]
mov edx, dword [edi + ebp - 0x73fc]
mov dword [edi + ebp - 0x78], edx
mov dword [edi + ebp - 0x7c], ecx
movups xmm0, xmmword [edi + ebp - 0x73f8]
movups xmmword [edi + ebp - 0x74], xmm0
movups xmm0, xmmword [edi + ebp - 0x73e8]
movups xmmword [edi + ebp - 0x64], xmm0
movss xmm0, dword [edi + ebp - 0x73d8]
movss dword [edi + ebp - 0x54], xmm0
movss xmm0, dword [edi + ebp - 0x73d4]
movss dword [edi + ebp - 0x50], xmm0
movss xmm0, dword [edi + ebp - 0x73d0]
movss dword [edi + ebp - 0x4c], xmm0
movups xmm0, xmmword [edi + ebp - 0x73cc]
movups xmmword [edi + ebp - 0x48], xmm0
movups xmm0, xmmword [edi + ebp - 0x73bc]
movups xmmword [edi + ebp - 0x38], xmm0
movups xmm0, xmmword [edi + ebp - 0x73ac]
movups xmmword [edi + ebp - 0x28], xmm0
movups xmm0, xmmword [edi + ebp - 0x739c]
movups xmmword [edi + ebp - 0x18], xmm0
movss xmm0, dword [edi + ebp - 0x738c]
movss dword [edi + ebp - 8], xmm0
movss xmm0, dword [edi + ebp - 0x7388]
movss dword [edi + ebp - 4], xmm0
lea ecx, [edi + ebp - 0x7384]
push 0x72f3
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebp, 0xffff8c7c
cmp ebp, 0x90
jne 0x10217330
mov eax, dword [esp + 4]
mov dword [edi], eax
mov eax, dword [esp + 8]
mov dword [edi + 4], eax
movss xmm0, dword [esp + 0xc]
movss dword [edi + 8], xmm0
movss xmm0, dword [esp + 0x10]
movss dword [edi + 0xc], xmm0
movss xmm0, dword [esp + 0x14]
movss dword [edi + 0x10], xmm0
mov eax, dword [esp + 0x24]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 0x18], eax
movups xmm0, xmmword [esp + 0x78]
movups xmm1, xmmword [esp + 0x88]
mov eax, dword [esp + 0x20]
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x28]
movups xmmword [edi + 0x3c], xmm0
movups xmm0, xmmword [esp + 0x38]
movups xmmword [edi + 0x4c], xmm0
movups xmm0, xmmword [esp + 0x48]
movups xmmword [edi + 0x5c], xmm0
movups xmm0, xmmword [esp + 0x58]
movups xmmword [edi + 0x6c], xmm0
movups xmm0, xmmword [esp + 0x68]
movups xmmword [edi + 0x7c], xmm0
mov eax, edi
lea ebp, [esp + 0x98]
movss xmm0, dword [esp + 0x1c]
jmp 0x10217219
add esp, 0x738c
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
push ebx
push edi
push esi
mov eax, 0x738c
call fcn.102e5760
mov ebx, edx
sub ebx, ecx
cmp ebx, 0x7385
jl 0x1021775c
mov esi, edx
mov edi, ecx
lea eax, [ecx + 0x1c]
mov dword [esp], eax
lea eax, [ecx + 0x90]
mov dword [esp + 4], eax
add esi, 0xffff8d0c
nop dword [eax + eax]
lea eax, [esi - 0x90]
push 0x7384
push eax
lea eax, [esp + 0x10]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [edi]
movsd qword [esi - 0x90], xmm0
movss xmm0, dword [edi + 8]
movss dword [esi - 0x88], xmm0
movss xmm0, dword [edi + 0xc]
movss dword [esi - 0x84], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [esi - 0x80], xmm0
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
mov dword [esi - 0x78], ecx
mov dword [esi - 0x7c], eax
mov eax, dword [esp]
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [esi - 0x64], xmm1
movups xmmword [esi - 0x74], xmm0
movss xmm0, dword [edi + 0x3c]
movss dword [esi - 0x54], xmm0
movss xmm0, dword [edi + 0x40]
movss dword [esi - 0x50], xmm0
movss xmm0, dword [edi + 0x44]
movss dword [esi - 0x4c], xmm0
movss xmm0, dword [edi + 0x48]
movss dword [esi - 0x48], xmm0
movss xmm0, dword [edi + 0x4c]
movss dword [esi - 0x44], xmm0
movss xmm0, dword [edi + 0x50]
movss dword [esi - 0x40], xmm0
movss xmm0, dword [edi + 0x54]
movss dword [esi - 0x3c], xmm0
movss xmm0, dword [edi + 0x58]
movss dword [esi - 0x38], xmm0
movss xmm0, dword [edi + 0x5c]
movss dword [esi - 0x34], xmm0
movss xmm0, dword [edi + 0x60]
movss dword [esi - 0x30], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esi - 0x2c], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esi - 0x28], xmm0
movss xmm0, dword [edi + 0x6c]
movss dword [esi - 0x24], xmm0
movss xmm0, dword [edi + 0x70]
movss dword [esi - 0x20], xmm0
movss xmm0, dword [edi + 0x74]
movss dword [esi - 0x1c], xmm0
movss xmm0, dword [edi + 0x78]
movss dword [esi - 0x18], xmm0
movss xmm0, dword [edi + 0x7c]
movss dword [esi - 0x14], xmm0
movss xmm0, dword [edi + 0x80]
movss dword [esi - 0x10], xmm0
movss xmm0, dword [edi + 0x84]
movss dword [esi - 0xc], xmm0
movss xmm0, dword [edi + 0x88]
movss dword [esi - 8], xmm0
movss xmm0, dword [edi + 0x8c]
movss dword [esi - 4], xmm0
push 0x72f3
push dword [esp + 8]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, 0xffff8c7c
mov eax, ebx
sar eax, 2
imul eax, eax, 0x48562721
mov ecx, edi
xor edx, edx
lea ebp, [esp + 8]
push ebp
push eax
call fcn.10217770
add esp, 8
add esi, 0xffff8c7c
cmp ebx, 0x7384
jg 0x102175d0
add esp, 0x738c
pop esi
pop edi
pop ebx
pop ebp
ret