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

Disassembly:
sub esp, 0x88
push ebx
mov ebx, dword [esp + 0x90]
push ebp
push esi
push edi
movups xmm1, xmmword [ebx]
movq xmm0, qword [ebx + 0x10]
psrldq xmm1, 0xc
movd eax, xmm1
movq qword [esp + 0x90], xmm0
cmp dword [esp + 0x90], eax
sbb ebp, ebp
neg ebp
mov dword [esp + 0x74], ebp
mov ebp, dword [esp + 0xa4]
mov edi, dword [ebp + 8]
mov edx, dword [ebp + 4]
mov esi, dword [ebp + 0xc]
sub edx, edi
cmp dword [esp + 0x90], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x70], edi
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], eax
jae 0x100d5a6c
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x48], ecx
add ecx, ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], ebx
lea ecx, [ebx + edi]
mov dword [esp + 0x34], ecx
jmp 0x100d5a88
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
lea edi, [ebx + edx]
lea eax, [edi - 8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x9c]
add eax, 0x24
mov dword [esp + 0x44], eax
cmp edx, esi
jae 0x100d5ac3
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
lea eax, [esp + 0x80]
push ebp
push eax
call fcn.100d56a0
add esp, 8
lea ebp, [esi + ebx]
lea eax, [edi - 8]
mov dword [esp + 0x1c], ebp
cmp ebp, eax
jae 0x100d5f0f
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], 0
push ecx
push dword [esp + 0x48]
sub eax, ebp
push eax
lea eax, [esp + 0x8c]
push ebp
push eax
call fcn.100d5490
mov dword [esp + 0x7c], eax
add esp, 0x14
mov eax, dword [esp + 0x30]
xor ebx, ebx
test eax, eax
je 0x100d5ba4
mov ecx, dword [esp + 0x6c]
mov ebp, 1
mov edi, dword [esp + 0x9c]
shl ebp, cl
add edi, 0x12c
mov eax, dword [esp + 0x44]
push 0
push 0
mov esi, dword [eax + ebx*4]
mov eax, dword [esp + 0x44]
sub esi, eax
add esi, dword [esp + 0x24]
push eax
push esi
call fcn.10005894
mov dword [edi], edx
lea ecx, [ebp - 1]
mov edx, dword [esp + 0xb4]
and ecx, eax
sub esp, 8
mov dword [edi - 8], esi
mov esi, dword [esp + 0xb4]
mov eax, esp
mov dword [edi - 4], ecx
movups xmm0, xmmword [edx]
push ecx
push esi
movups xmmword [eax], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [eax + 0x10], xmm0
call fcn.100d6070
mov dword [edi + 4], eax
lea edi, [edi + 0x10]
mov eax, dword [esp + 0x50]
inc ebx
add esp, 0x20
cmp ebx, eax
jb 0x100d5b35
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
jmp 0x100d5bab
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x60], 0
test eax, eax
je 0x100d5e93
lea eax, [esi + 0x128]
mov dword [esp + 0x64], eax
nop dword [eax]
mov ebp, dword [eax - 4]
xor ecx, ecx
mov esi, dword [eax + 4]
xor edx, edx
mov dword [esp + 0x50], ecx
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov ecx, ebp
sub ecx, dword [esp + 0x10]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x58], 0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x5c], ecx
cmp ebp, ebx
jae 0x100d5c30
mov ebp, dword [esp + 0xa4]
sub esp, 0x18
mov eax, esp
movups xmm0, xmmword [ebp]
push esi
push ecx
movups xmmword [eax], xmm0
movq xmm0, qword [ebp + 0x10]
jmp 0x100d5ec0
mov ecx, dword [esp + 0x70]
mov eax, 8
shl eax, cl
add eax, edx
mov dword [esp + 0x24], eax
cmp edx, eax
jae 0x100d5ea4
mov ecx, eax
nop dword [eax + eax]
cmp dword [edx + 4], esi
jne 0x100d5dd7
mov eax, dword [edx]
cmp eax, dword [esp + 0x48]
jbe 0x100d5dd7
cmp dword [esp + 0x74], 0
je 0x100d5d0d
cmp eax, dword [esp + 0x20]
mov esi, edi
mov ebx, dword [esp + 0x10]
cmovb ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
add ebx, eax
cmp eax, dword [esp + 0x20]
cmovb esi, dword [esp + 0x34]
add ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x20]
mov eax, esi
cmovb ecx, dword [esp + 0x38]
sub eax, ebx
mov dword [esp + 0x78], ecx
add eax, ebp
mov ecx, dword [esp + 0x14]
cmp eax, ecx
cmovb ecx, eax
push ecx
push ebx
push ebp
call fcn.100d4e10
mov edi, eax
add esp, 0xc
lea ecx, [edi + ebx]
cmp ecx, esi
jne 0x100d5cdd
push dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x24]
push eax
lea eax, [edi + ebp]
push eax
call fcn.100d4e10
add esp, 0xc
add edi, eax
cmp edi, dword [esp + 0x3c]
jb 0x100d5dc4
push dword [esp + 0x34]
push dword [esp + 0x3c]
push dword [esp + 0x80]
push ebx
mov ebx, dword [esp + 0xb8]
push ebx
push ebp
call fcn.100d5280
add esp, 0x18
jmp 0x100d5d8f
mov ecx, dword [esp + 0x10]
lea esi, [edi - 3]
lea ebx, [eax + ecx]
mov eax, ebp
mov edx, ebx
cmp ebp, esi
jae 0x100d5d48
mov eax, dword [ebx]
xor eax, dword [ebp]
je 0x100d5d2e
bsf edi, eax
shr edi, 3
jmp 0x100d5d70
lea eax, [ebp + 4]
lea edx, [ebx + 4]
cmp eax, esi
jae 0x100d5d48
mov ecx, dword [edx]
xor ecx, dword [eax]
jne 0x100d5db8
add eax, 4
add edx, 4
cmp eax, esi
jb 0x100d5d38
lea ecx, [edi - 1]
cmp eax, ecx
jae 0x100d5d5d
mov cx, word [edx]
cmp cx, word [eax]
jne 0x100d5d5d
add eax, 2
add edx, 2
cmp eax, edi
jae 0x100d5d68
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x100d5d68
inc eax
mov edi, eax
sub edi, ebp
mov ecx, dword [esp + 0x10]
cmp edi, dword [esp + 0x3c]
jb 0x100d5dc4
mov eax, dword [esp + 0x20]
add eax, ecx
push eax
push ebx
mov ebx, dword [esp + 0xb0]
push ebx
push ebp
call fcn.100d5230
add esp, 0x10
mov edx, dword [esp + 0x28]
lea ecx, [eax + edi]
mov esi, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x50]
jbe 0x100d5dd3
mov dword [esp + 0x54], eax
mov eax, edx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x58], edi
mov dword [esp + 0x18], eax
jmp 0x100d5ddb
bsf edi, ecx
shr edi, 3
sub edi, ebp
add edi, eax
jmp 0x100d5d6c
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add edx, 8
mov dword [esp + 0x28], edx
cmp edx, ecx
jb 0x100d5c50
test eax, eax
je 0x100d5ea4
mov edi, dword [esp + 0xa0]
mov esi, ebp
sub esi, dword [eax]
sub esi, dword [esp + 0x10]
mov edx, dword [edi + 0xc]
mov eax, dword [edi]
lea ecx, [edx + edx*2]
lea ecx, [eax + ecx*4]
cmp edx, dword [edi + 0x10]
je 0x100d5eff
mov edx, dword [esp + 0x54]
mov eax, ebp
mov edi, dword [esp + 0x58]
sub eax, edx
sub eax, ebx
mov dword [ecx], esi
mov dword [ecx + 4], eax
sub esp, 0x18
lea eax, [edx + edi]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
inc dword [eax + 0xc]
mov eax, esp
push dword [esp + 0x44]
movups xmm0, xmmword [ecx]
push dword [esp + 0x78]
movups xmmword [eax], xmm0
push dword [esp + 0x60]
movq xmm0, qword [ecx + 0x10]
push dword [esp + 0xc0]
movq qword [eax + 0x10], xmm0
call fcn.100d60f0
mov edx, dword [esp + 0x90]
lea ebx, [edi + ebp]
mov ebp, dword [esp + 0x44]
add esp, 0x28
mov dword [esp + 0xa8], ebx
lea eax, [edx + ebp]
cmp ebx, eax
jbe 0x100d5edc
mov ebp, ebx
sub ebp, edx
add ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x100d5ada
mov ecx, dword [esp + 0xa4]
sub esp, 0x18
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
push dword [esp + 0x78]
movups xmmword [eax], xmm0
movq xmm0, qword [ecx + 0x10]
push dword [esp + 0x60]
movq qword [eax + 0x10], xmm0
push dword [esp + 0xc0]
call fcn.100d60f0
mov ebp, dword [esp + 0x44]
add esp, 0x28
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
inc ecx
add eax, 0x10
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
cmp ecx, dword [esp + 0x30]
jae 0x100d5e93
mov edi, dword [esp + 0x14]
jmp 0x100d5bd0
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
sub edi, ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret