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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
and byte [esp + 0x40], 0xfc
push ebx
mov ebx, ecx
mov ecx, 0x1b
push esi
push edi
xor edi, edi
mov dword [esp + 0x34], ebx
mov eax, dword [ebx + 0x400]
lea esi, [esp + 0x50]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x24], edi
test eax, eax
jle 0x102c7a00
xor edx, edx
mov dword [esp + 0x28], edx
nop dword [eax]
mov eax, dword [ebx]
add eax, edx
mov dword [esp + 0x38], eax
lea eax, [edi + 1]
cdq
mov dword [esp + 0x10], eax
mov ebx, edx
mov eax, ecx
mov dword [esp + 0x1c], ebx
cdq
mov ecx, eax
mov eax, edx
mov dword [esp + 0x20], eax
cmp ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
jl 0x102c78b7
jg 0x102c78b3
cmp eax, ecx
jbe 0x102c78b7
mov bl, 1
jmp 0x102c78b9
xor bl, bl
mov ecx, dword [esp + 0x1c]
mov edx, ecx
mov dword [esp + 0x14], eax
shld ecx, eax, 1
add eax, eax
add dword [esp + 0x14], eax
adc edx, ecx
cmp dword [esp + 0x20], edx
mov edx, dword [esp + 0x18]
jl 0x102c78f1
jg 0x102c78e1
cmp edx, dword [esp + 0x14]
jbe 0x102c78f1
mov al, byte [esp + 0x4c]
test al, 1
je 0x102c78f1
test al, 2
jne 0x102c78f1
mov al, 1
jmp 0x102c78f3
xor al, al
test bl, bl
jne 0x102c78ff
test al, al
je 0x102c79b3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add eax, 1
adc ecx, 0
shrd eax, ecx, 1
sar ecx, 1
add eax, dword [esp + 0x10]
adc ecx, dword [esp + 0x1c]
add eax, 7
adc ecx, 0
and eax, 0xfffffff8
cmp eax, edx
jne 0x102c7932
cmp ecx, dword [esp + 0x20]
je 0x102c79b3
cmp ecx, 0xffffffff
jg 0x102c7947
jl 0x102c7940
cmp eax, 0x80000001
jae 0x102c7947
mov eax, 0x80000001
jmp 0x102c7959
test ecx, ecx
jl 0x102c7959
jg 0x102c7954
cmp eax, 0x7fffffff
jbe 0x102c7959
mov eax, 0x7fffffff
push 4
push eax
mov dword [esp + 0x50], eax
call fcn.10061340
mov edi, dword [esp + 0x4c]
mov esi, eax
add esp, 8
lea eax, [edi*4]
test eax, eax
je 0x102c798b
push eax
push dword [esp + 0x44]
push esi
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [esp + 0x50]
add esp, 0xc
mov al, byte [esp + 0x4c]
test al, 1
je 0x102c79a7
push dword [esp + 0x40]
call sym.skottie.dll_void___cdecl_sk_free_void__
mov al, byte [esp + 0x50]
add esp, 4
mov edi, dword [esp + 0x44]
and al, 0xfd
mov dword [esp + 0x40], esi
or al, 1
mov byte [esp + 0x4c], al
mov ecx, dword [esp + 0x38]
lea eax, [esi + edi*4]
mov ebx, dword [esp + 0x34]
inc edi
mov edx, dword [esp + 0x28]
mov dword [esp + 0x44], edi
add edx, 0x38
mov dword [eax], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx + 0x400]
inc ecx
mov esi, dword [esp + 0x40]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
cmp ecx, eax
jge 0x102c79f4
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
jmp 0x102c7880
test esi, esi
jne 0x102c79fc
xor edx, edx
jmp 0x102c7a03
mov edi, dword [esp + 0x44]
lea edx, [esi + edi*4]
add edx, 0xfffffffc
cmp esi, edx
jae 0x102c7a45
mov eax, edx
sub eax, esi
sar eax, 2
sub eax, 1
je 0x102c7a1e
bsr ecx, eax
xor ecx, 0x1f
jmp 0x102c7a23
mov ecx, 0x20
push dword [esp + 0x38]
mov eax, 0x20
push edx
sub eax, ecx
add eax, eax
push esi
push eax
call fcn.102c44b0
mov eax, dword [ebx + 0x400]
add esp, 0x10
mov esi, dword [esp + 0x40]
xor edi, edi
test eax, eax
jle 0x102c7acc
mov ebx, dword [ebp + 8]
mov eax, dword [esi + edi*4]
mov esi, dword [eax + 0x30]
mov ecx, dword [eax]
test esi, esi
je 0x102c7a68
movsd xmm0, qword [ecx + 0x80]
jmp 0x102c7a6d
movsd xmm0, qword [ecx + 0x78]
cmp dword [eax + 0x34], 0
mov edx, dword [eax + 4]
movsd qword [esp + 0x28], xmm0
je 0x102c7a86
movsd xmm0, qword [edx + 0x80]
jmp 0x102c7a8b
movsd xmm0, qword [edx + 0x78]
mov ecx, dword [ecx]
push esi
movsd qword [esp + 0x3c], xmm0
mov eax, dword [ecx]
call dword [eax + 8]
movsd xmm0, qword [esp + 0x38]
mov ecx, ebx
push eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x3c]
movsd qword [esp], xmm0
call fcn.1020bc10
mov eax, dword [esp + 0x34]
inc edi
mov esi, dword [esp + 0x40]
cmp edi, dword [eax + 0x400]
jl 0x102c7a52
test byte [esp + 0x4c], 1
je 0x102c7adc
push esi
call sym.skottie.dll_void___cdecl_sk_free_void__
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4