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

Disassembly:
sub esp, 0x488
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x484], eax
push ebx
mov ebx, dword [esp + 0x490]
push ebp
mov ebp, dword [esp + 0x498]
push esi
mov esi, dword [esp + 0x4a0]
push edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], ebp
mov byte [esi + 0x1c8], 1
mov byte [esi + 0x1c6], 0
mov dword [esi + 0x1c0], 0
mov ecx, dword [ebx]
mov dword [esp + 0x18], esi
mov eax, dword [ecx]
call dword [eax + 0x38]
add al, 4
mov ecx, ebx
mov byte [esi + 0x1c7], al
lea eax, [esp + 0x14]
mov edi, dword [ebp + 0x424]
mov esi, dword [ebx + 0x424]
push eax
push edi
push ebp
push esi
call fcn.102c8300
test eax, eax
je 0x102c5dba
cmp eax, 2
jne 0x102c4e01
cmp dword [esp + 0x14], eax
jne 0x102c4e01
push dword [esp + 0x18]
push ebp
push ebx
call fcn.102c5de0
add esp, 0xc
jmp 0x102c5dba
lea ecx, [ebx + 4]
neg ecx
lea eax, [ebx + 0x404]
sbb ecx, ecx
and ecx, eax
push ecx
mov dword [esp + 0x30], ecx
mov ecx, esi
push edi
call fcn.102c61d0
lea ecx, [ebp + 4]
neg ecx
lea eax, [ebp + 0x404]
sbb ecx, ecx
and ecx, eax
push ecx
mov dword [esp + 0x2c], ecx
mov ecx, edi
push esi
call fcn.102c61d0
xorps xmm0, xmm0
mov dword [esp + 0x14], 8
mov ecx, ebx
movsd qword [esp + 0x464], xmm0
movsd qword [esp + 0x34], xmm0
call fcn.102c68e0
mov esi, eax
test esi, esi
je 0x102c5258
mov ecx, ebp
call fcn.102c68e0
mov edi, eax
test edi, edi
je 0x102c4f0d
movsd xmm0, qword [esi + 0x88]
comisd xmm0, xmmword [edi + 0x88]
ja 0x102c4f0d
cmp byte [esi + 0x90], 0
jne 0x102c4e9d
cmp byte [edi + 0x90], 0
jne 0x102c4f0d
cmp byte [edi + 0x90], 0
jne 0x102c5265
mov word [ebx + 0x434], 0
mov ecx, ebp
mov word [ebp + 0x434], 0
call fcn.102c6350
movsd xmm0, qword [edi + 0x80]
mov esi, eax
addsd xmm0, qword [edi + 0x78]
push dword [esp + 0x28]
mov ecx, esi
sub esp, 8
mulsd xmm0, qword [0x103885a0]
movsd qword [esp], xmm0
push edi
call fcn.102ca690
test al, al
je 0x102c5265
push ebx
push edi
mov ecx, ebp
call fcn.102ca990
test al, al
je 0x102c5dba
push ebx
push esi
mov ecx, ebp
jmp 0x102c4f88
cmp byte [ebp + 0x436], 0
jne 0x102c5dba
cmp byte [esi + 0x90], 0
jne 0x102c5265
mov word [ebx + 0x434], 0
mov ecx, ebx
mov word [ebp + 0x434], 0
call fcn.102c6350
movsd xmm0, qword [esi + 0x80]
mov edi, eax
addsd xmm0, qword [esi + 0x78]
push dword [esp + 0x2c]
mov ecx, edi
sub esp, 8
mulsd xmm0, qword [0x103885a0]
movsd qword [esp], xmm0
push esi
call fcn.102ca690
test al, al
je 0x102c5265
push ebp
push esi
mov ecx, ebx
call fcn.102ca990
test al, al
je 0x102c5dba
push ebp
push edi
mov ecx, ebx
call fcn.102ca990
test al, al
je 0x102c5dba
cmp dword [ebx + 0x430], 9
jl 0x102c5235
cmp dword [ebp + 0x430], 9
jl 0x102c50c6
cmp dword [esp + 0x14], 8
mov edi, dword [ebx + 0x424]
jne 0x102c4fdf
movsd xmm0, qword [edi + 0x78]
mov ecx, ebx
movsd qword [esp + 0x464], xmm0
call fcn.102ca950
movsd xmm0, qword [eax + 0x80]
movsd qword [esp + 0x34], xmm0
test edi, edi
je 0x102c5dba
nop word [eax + eax]
mov eax, dword [edi + 0x50]
mov ecx, 1
mov esi, edi
test eax, eax
je 0x102c5019
nop
movsd xmm0, qword [eax + 0x78]
comisd xmm0, xmmword [esi + 0x80]
ja 0x102c5019
mov esi, eax
inc ecx
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x102c5000
mov eax, dword [esi + 0x50]
mov dword [esp + 0x20], eax
cmp ecx, 9
jl 0x102c507e
push esi
push edi
push ebp
mov ecx, ebx
call fcn.102c6d50
mov dword [esp + 0x10], edi
lea eax, [esp + 0x10]
mov ecx, ebx
push eax
push esi
push edi
push ebp
call fcn.102c72c0
test al, al
je 0x102c5dba
mov edi, dword [esp + 0x10]
test edi, edi
je 0x102c505b
cmp byte [esi + 0x94], 0
je 0x102c5033
cmp dword [ebx + 0x424], 0
je 0x102c5088
cmp dword [ebp + 0x424], 0
je 0x102c5088
mov eax, dword [esp + 0x20]
test eax, eax
je 0x102c5088
cmp byte [eax + 0x94], 0
jne 0x102c5088
mov edi, eax
test eax, eax
jne 0x102c4ff0
sub dword [esp + 0x14], 1
jne 0x102c50c6
cmp dword [ebx + 0x424], 0
je 0x102c50c6
cmp dword [ebp + 0x424], 0
je 0x102c50c6
movsd xmm0, qword [esp + 0x34]
sub esp, 0x10
mov ecx, ebx
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x474]
movsd qword [esp], xmm0
push ebp
call fcn.102c6a40
cmp dword [ebx + 0x430], 9
jl 0x102c5235
cmp dword [ebp + 0x430], 9
jl 0x102c5235
mov esi, dword [ebx + 0x424]
test esi, esi
je 0x102c5dba
mov ecx, ebx
call fcn.102ca950
push eax
push esi
push ebp
mov ecx, ebx
call fcn.102c6d50
mov esi, dword [ebp + 0x424]
test esi, esi
je 0x102c5dba
mov ecx, ebp
call fcn.102ca950
push eax
push esi
push ebx
mov ecx, ebp
call fcn.102c6d50
mov ebx, dword [ebx + 0x424]
xorps xmm0, xmm0
nop word [eax + eax]
comisd xmm0, xmmword [ebx + 0x18]
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x10], eax
ja 0x102c5213
comisd xmm0, xmmword [ebx + 0x38]
ja 0x102c5213
mov ecx, dword [ebx]
push 0
mov eax, dword [ecx]
call dword [eax + 4]
movsd xmm0, qword [ebx + 8]
mov edi, dword [ebx]
mov ecx, edi
subsd xmm0, qword [eax]
movsd qword [esp + 0x444], xmm0
movsd xmm0, qword [ebx + 0x10]
subsd xmm0, qword [eax + 8]
mov eax, dword [edi]
mov esi, dword [eax + 4]
movsd qword [esp + 0x20], xmm0
call dword [eax + 0x44]
push eax
mov ecx, edi
call esi
movsd xmm1, qword [ebx + 0x28]
movsd xmm0, qword [ebx + 0x30]
subsd xmm1, qword [eax]
subsd xmm0, qword [eax + 8]
mulsd xmm1, qword [esp + 0x444]
mulsd xmm0, qword [esp + 0x20]
addsd xmm0, xmm1
xorps xmm1, xmm1
comisd xmm1, xmm0
jae 0x102c520c
mov esi, dword [ebx + 0x48]
test esi, esi
je 0x102c520c
nop
mov edi, dword [esi]
mov ecx, ebx
mov esi, dword [esi + 4]
push edi
call fcn.102ca1d0
test al, al
je 0x102c51db
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.102ca380
push ebx
mov ecx, edi
call fcn.102ca1d0
test al, al
je 0x102c51ef
push edi
mov ecx, ebp
call fcn.102ca380
cmp byte [ebx + 0x94], 0
je 0x102c5208
push ebx
mov ecx, ebp
call fcn.102c7af0
test al, al
jne 0x102c5dba
test esi, esi
jne 0x102c51c0
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
mov ebx, eax
test eax, eax
jne 0x102c5130
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, ebx
mov esi, eax
call fcn.102c6d20
cmp eax, esi
jg 0x102c5265
cmp dword [ebx + 0x424], 0
je 0x102c5265
cmp dword [ebp + 0x424], 0
je 0x102c5265
mov ecx, ebx
call fcn.102c68e0
mov esi, eax
test esi, esi
jne 0x102c4e64
cmp byte [ebx + 0x436], 0
jne 0x102c5dba
mov ebx, dword [ebx + 0x428]
test ebx, ebx
je 0x102c54b6
cmp dword [ebx + 0x50], 0
je 0x102c53e4
mov esi, dword [esp + 0x1c]
xorps xmm1, xmm1
mov ebx, dword [esi + 0x428]
xor ecx, ecx
mov eax, ebx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x102c53e4
movsd xmm0, qword [eax + 0x78]
comisd xmm1, xmm0
ja 0x102c52b9
test ecx, ecx
je 0x102c52b3
comisd xmm0, xmmword [ecx + 0x80]
ja 0x102c52b9
mov ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x102c529a
test ecx, ecx
je 0x102c53e4
movsd xmm1, qword [ecx + 0x80]
xor edi, edi
xor ecx, ecx
movsd qword [esp + 0x20], xmm1
mov dword [esp + 0x10], ecx
nop
movsd xmm0, qword [ebx + 0x78]
comisd xmm1, xmm0
ja 0x102c52fc
test edi, edi
je 0x102c52f6
comisd xmm0, xmmword [edi + 0x78]
ja 0x102c52fc
mov dword [esp + 0x10], eax
mov edi, ebx
mov eax, ebx
mov ebx, dword [ebx + 0x50]
test ebx, ebx
jne 0x102c52e0
test edi, edi
je 0x102c5284
movsd xmm0, qword [edi + 0x78]
lea edx, [esp + 0x464]
mov ecx, dword [esi]
addsd xmm0, xmm1
sub esp, 8
mov eax, dword [ecx]
mulsd xmm0, qword [0x103885a0]
movsd qword [esp], xmm0
push edx
movsd qword [esp + 0x450], xmm0
call dword [eax + 0x48]
push dword [ebp]
movsd xmm0, qword [0x10399a08]
lea eax, [esp + 0x468]
push eax
movsd qword [esp + 0x48c], xmm0
lea ecx, [esp + 0x47c]
movaps xmm0, xmmword [0x103b2940]
sub esp, 8
movups xmmword [esp + 0x484], xmm0
mov byte [esp + 0x49c], bl
movsd xmm0, qword [esp + 0x454]
movsd qword [esp], xmm0
push dword [esi]
call fcn.102ca4d0
movsd xmm1, qword [esp + 0x20]
cmp byte [esp + 0x48c], bl
je 0x102c5284
mov eax, dword [esp + 0x14]
movsd xmm0, qword [edi + 0x80]
mov ecx, dword [esp + 0x10]
movsd qword [eax + 0x80], xmm0
movups xmm0, xmmword [edi + 0x28]
movups xmmword [eax + 0x28], xmm0
movups xmm0, xmmword [edi + 0x38]
movups xmmword [eax + 0x38], xmm0
mov eax, dword [edi + 0x50]
test ecx, ecx
je 0x102c53d9
mov dword [ecx + 0x50], eax
jmp 0x102c5284
mov dword [esi + 0x428], eax
jmp 0x102c5284
test ebx, ebx
je 0x102c5dba
cmp byte [ebx + 0x20], 0
je 0x102c54ab
cmp byte [ebx + 0x40], 0
je 0x102c54ab
movsd xmm0, qword [ebx + 0x18]
xorps xmm2, xmm2
comisd xmm2, xmm0
movsd qword [esp + 0x444], xmm0
ja 0x102c5dba
mov ecx, dword [ebx]
push 0
mov eax, dword [ecx]
call dword [eax + 4]
movsd xmm1, qword [esp + 0x444]
movsd xmm0, qword [ebx + 0x78]
mov ecx, dword [esp + 0x18]
push eax
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.1020bf60
mov edi, dword [ebx]
mov ecx, edi
mov dword [esp + 0x20], eax
mov edx, dword [edi]
mov esi, dword [edx + 4]
call dword [edx + 0x44]
push eax
mov ecx, edi
call esi
movsd xmm0, qword [ebx + 0x38]
movsd xmm1, qword [ebx + 0x80]
mov esi, dword [esp + 0x18]
mov ecx, esi
push eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call fcn.1020bf60
test eax, eax
jns 0x102c54ab
mov ecx, dword [esp + 0x20]
test ecx, ecx
js 0x102c54ab
mov eax, 1
shl ax, cl
not ax
and word [esi + 0x1c0], ax
and word [esi + 0x1c2], ax
mov ebx, dword [ebx + 0x50]
test ebx, ebx
jne 0x102c53ec
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
push edi
push ebp
push ebx
call fcn.102c5de0
add esp, 0xc
mov dword [esp + 0x10], eax
cmp byte [ebx + 0x434], 0
je 0x102c5568
test al, 1
jne 0x102c5568
movsd xmm0, qword [0x10399a08]
mov ecx, dword [ebx]
mov esi, dword [ebp]
movsd qword [esp + 0x454], xmm0
movaps xmm0, xmmword [0x103b2940]
mov byte [esp + 0x45c], 0
movups xmmword [esp + 0x444], xmm0
mov eax, dword [ecx]
push 0
call dword [eax + 8]
push esi
push eax
sub esp, 8
lea ecx, [esp + 0x454]
xorps xmm1, xmm1
movsd qword [esp], xmm1
push dword [ebx]
call fcn.102ca4d0
cmp byte [esp + 0x45c], 0
je 0x102c5564
movsd xmm0, qword [esp + 0x454]
lea eax, [esp + 0x444]
push eax
sub esp, 0x10
mov ecx, edi
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.1020bc10
mov eax, dword [esp + 0x10]
cmp byte [ebx + 0x435], 0
je 0x102c5607
test al, 2
jne 0x102c5607
movsd xmm0, qword [0x10399a08]
mov ecx, ebx
mov esi, dword [ebp]
movsd qword [esp + 0x454], xmm0
movaps xmm0, xmmword [0x103b2940]
mov byte [esp + 0x45c], 0
movups xmmword [esp + 0x444], xmm0
call fcn.102c9f20
movsd xmm0, qword [0x103878b0]
lea ecx, [esp + 0x444]
push esi
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx]
call fcn.102ca4d0
cmp byte [esp + 0x45c], 0
je 0x102c5607
movsd xmm0, qword [esp + 0x454]
lea eax, [esp + 0x444]
push eax
sub esp, 0x10
mov ecx, edi
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x103878b0]
movsd qword [esp], xmm0
call fcn.1020bc10
cmp byte [ebp + 0x434], 0
mov eax, dword [esp + 0x10]
je 0x102c56a7
test al, 4
jne 0x102c56a7
movsd xmm0, qword [0x10399a08]
mov ecx, dword [ebp]
mov esi, dword [ebx]
movsd qword [esp + 0x454], xmm0
movaps xmm0, xmmword [0x103b2940]
mov byte [esp + 0x45c], 0
movups xmmword [esp + 0x444], xmm0
mov eax, dword [ecx]
push 0
call dword [eax + 8]
push esi
push eax
sub esp, 8
lea ecx, [esp + 0x454]
xorps xmm0, xmm0
movsd qword [esp], xmm0
push dword [ebp]
call fcn.102ca4d0
cmp byte [esp + 0x45c], 0
je 0x102c56a3
lea eax, [esp + 0x444]
xorps xmm0, xmm0
push eax
sub esp, 0x10
mov ecx, edi
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x468]
movsd qword [esp], xmm0
call fcn.1020bc10
mov eax, dword [esp + 0x10]
cmp byte [ebp + 0x435], 0
je 0x102c5746
test al, 8
jne 0x102c5746
movsd xmm0, qword [0x10399a08]
mov ecx, ebp
mov esi, dword [ebx]
movsd qword [esp + 0x454], xmm0
movaps xmm0, xmmword [0x103b2940]
mov byte [esp + 0x45c], 0
movups xmmword [esp + 0x444], xmm0
call fcn.102c9f20
movsd xmm0, qword [0x103878b0]
lea ecx, [esp + 0x444]
push esi
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [ebp]
call fcn.102ca4d0
cmp byte [esp + 0x45c], 0
je 0x102c5746
movsd xmm0, qword [0x103878b0]
lea eax, [esp + 0x444]
push eax
sub esp, 0x10
mov ecx, edi
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x468]
movsd qword [esp], xmm0
call fcn.1020bc10
cmp dword [ebx + 0x424], 0
je 0x102c5dba
cmp dword [ebp + 0x424], 0
je 0x102c5dba
mov ecx, ebx
call fcn.102ca120
mov ecx, ebp
call fcn.102ca120
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0x424]
movsd xmm0, qword [0x10399998]
mov dword [esp + 0x14], esi
test al, 1
jne 0x102c5814
comisd xmm0, xmmword [esi + 0x78]
jbe 0x102c5814
mov ecx, dword [ebx]
push 0
mov eax, dword [ecx]
call dword [eax + 8]
cmp dword [esi + 0x48], 0
mov edi, eax
je 0x102c5808
push edi
mov ecx, esi
call fcn.102c6950
mov ecx, dword [ebp]
lea edx, [esp + 0x444]
sub esp, 8
fstp qword [esp + 0x46c]
movsd xmm0, qword [esp + 0x46c]
mov eax, dword [ecx]
movsd qword [esp], xmm0
push edx
call dword [eax + 0x48]
push edi
mov ecx, eax
call fcn.102c2e80
test al, al
je 0x102c5808
movsd xmm0, qword [esp + 0x464]
mov ecx, dword [esp + 0x18]
push edi
sub esp, 0x10
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.1020bc10
movsd xmm0, qword [0x10399998]
mov eax, dword [esp + 0x10]
test al, 4
jne 0x102c589e
mov esi, dword [ebp + 0x424]
comisd xmm0, xmmword [esi + 0x78]
jbe 0x102c589e
mov ecx, dword [ebp]
push 0
mov eax, dword [ecx]
call dword [eax + 8]
cmp dword [esi + 0x48], 0
mov edi, eax
je 0x102c589a
push edi
mov ecx, esi
call fcn.102c6950
mov ecx, dword [ebx]
lea edx, [esp + 0x444]
sub esp, 8
fstp qword [esp + 0x46c]
movsd xmm0, qword [esp + 0x46c]
mov eax, dword [ecx]
movsd qword [esp], xmm0
push edx
call dword [eax + 0x48]
push edi
mov ecx, eax
call fcn.102c2e80
test al, al
je 0x102c589a
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
push edi
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x478]
movsd qword [esp], xmm0
call fcn.1020bc10
mov eax, dword [esp + 0x10]
test al, 2
jne 0x102c5941
mov ecx, ebx
call fcn.102ca950
mov esi, eax
test esi, esi
je 0x102c5dba
movsd xmm0, qword [esi + 0x80]
comisd xmm0, xmmword [0x1039ae80]
jbe 0x102c593d
mov ecx, ebx
call fcn.102c9f20
cmp dword [esi + 0x48], 0
mov edi, eax
je 0x102c593d
push edi
mov ecx, esi
call fcn.102c6950
mov ecx, dword [ebp]
lea edx, [esp + 0x444]
sub esp, 8
fstp qword [esp + 0x46c]
movsd xmm0, qword [esp + 0x46c]
mov eax, dword [ecx]
movsd qword [esp], xmm0
push edx
call dword [eax + 0x48]
push edi
mov ecx, eax
call fcn.102c2e80
test al, al
je 0x102c593d
movsd xmm0, qword [esp + 0x464]
mov ecx, dword [esp + 0x18]
push edi
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x103878b0]
movsd qword [esp], xmm0
call fcn.1020bc10
mov eax, dword [esp + 0x10]
test al, 8
jne 0x102c59df
mov ecx, ebp
call fcn.102ca950
mov esi, eax
test esi, esi
je 0x102c5dba
movsd xmm0, qword [esi + 0x80]
comisd xmm0, xmmword [0x1039ae80]
jbe 0x102c59df
mov ecx, ebp
call fcn.102c9f20
cmp dword [esi + 0x48], 0
mov edi, eax
je 0x102c59df
push edi
mov ecx, esi
call fcn.102c6950
mov ecx, dword [ebx]
lea edx, [esp + 0x444]
sub esp, 8
fstp qword [esp + 0x46c]
movsd xmm0, qword [esp + 0x46c]
mov eax, dword [ecx]
movsd qword [esp], xmm0
push edx
call dword [eax + 0x48]
push edi
mov ecx, eax
call fcn.102c2e80
test al, al
je 0x102c59df
movsd xmm0, qword [0x103878b0]
mov ecx, dword [esp + 0x18]
push edi
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x478]
movsd qword [esp], xmm0
call fcn.1020bc10
mov al, byte [esp + 0x48]
lea ecx, [esp + 0x4c]
and al, 0xfd
mov dword [esp + 0x3c], ecx
and al, 0xfe
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x44], 0x12
mov byte [esp + 0x48], al
mov dword [esp + 0x43c], 0
call fcn.102c9ff0
movsd xmm0, qword [0x1038b7e0]
mov ebx, dword [esp + 0x14]
movsd qword [eax + 0x28], xmm0
test ebx, ebx
je 0x102c5bc2
cmp byte [ebx + 0x20], 0
je 0x102c5a40
cmp byte [ebx + 0x40], 0
jne 0x102c5bb3
mov eax, dword [ebp + 0x424]
mov dword [esp + 0x20], eax
test eax, eax
je 0x102c5bb3
mov ebp, eax
mov eax, dword [esp + 0x43c]
push 0
push 0
push ebp
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x48]
push ebx
lea edi, [eax + ecx*8]
mov ecx, edi
call fcn.102c7700
mov ecx, dword [ebp]
mov eax, dword [ecx]
call dword [eax + 0x44]
push eax
push 0
push ebp
push ebx
mov ecx, edi
call fcn.102c7700
mov ecx, dword [ebx]
push 0
mov eax, dword [ecx]
call dword [eax + 0x44]
push eax
push ebp
push ebx
mov ecx, edi
call fcn.102c7700
mov ecx, dword [ebp]
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [ebx]
mov esi, eax
mov edx, dword [ecx]
call dword [edx + 0x44]
push esi
push eax
push ebp
push ebx
mov ecx, edi
call fcn.102c7700
movsd xmm1, qword [edi + 0x28]
movsd xmm2, qword [0x1038b7e0]
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jnp 0x102c5ba0
mov esi, dword [esp + 0x43c]
mov dword [esp + 0x10], 0
test esi, esi
jle 0x102c5b82
mov ebx, dword [edi]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
cmp edx, ebx
je 0x102c5c15
movsd xmm0, qword [edx + 0x80]
ucomisd xmm0, qword [ebx + 0x78]
lahf
test ah, 0x44
jnp 0x102c5c15
movsd xmm0, qword [edx + 0x78]
ucomisd xmm0, qword [ebx + 0x80]
lahf
test ah, 0x44
jnp 0x102c5c15
mov edx, dword [ecx + 4]
mov esi, dword [edi + 4]
cmp edx, esi
je 0x102c5c15
movsd xmm0, qword [edx + 0x80]
ucomisd xmm0, qword [esi + 0x78]
lahf
test ah, 0x44
jnp 0x102c5c15
movsd xmm0, qword [edx + 0x78]
ucomisd xmm0, qword [esi + 0x80]
lahf
test ah, 0x44
jnp 0x102c5c15
mov eax, dword [esp + 0x10]
add ecx, 0x38
mov esi, dword [esp + 0x43c]
inc eax
mov dword [esp + 0x10], eax
cmp eax, esi
jl 0x102c5af3
inc esi
lea ecx, [esp + 0x3c]
mov dword [esp + 0x43c], esi
call fcn.102c9ff0
movsd xmm0, qword [0x1038b7e0]
movsd qword [eax + 0x28], xmm0
mov ebp, dword [ebp + 0x50]
mov ebx, dword [esp + 0x14]
test ebp, ebp
jne 0x102c5a54
mov ebp, dword [esp + 0x30]
mov ebx, dword [ebx + 0x50]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x102c5a30
push dword [esp + 0x18]
lea ecx, [esp + 0x40]
call fcn.102c7830
mov edx, dword [esp + 0x18]
xor esi, esi
movzx eax, byte [edx + 0x1c6]
dec eax
mov dword [esp + 0x14], eax
test eax, eax
jle 0x102c5da7
mov ebx, dword [esp + 0x1c]
nop dword [eax]
movzx eax, word [edx + 0x1c0]
lea edi, [esi + 1]
bt eax, esi
setb cl
bt eax, edi
setb al
test al, cl
je 0x102c5ca8
mov esi, edi
jmp 0x102c5d9d
movsd xmm0, qword [ecx + 0x28]
comisd xmm0, xmm1
jbe 0x102c5c3e
mov dword [ecx], ebx
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
movsd xmm0, qword [edi + 0x28]
movsd qword [ecx + 0x28], xmm0
mov eax, dword [edi + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [edi + 0x34]
mov dword [ecx + 0x34], eax
movsd xmm0, qword [edi + 8]
movsd xmm1, qword [ecx + 8]
comisd xmm1, xmm0
ja 0x102c5c51
movaps xmm0, xmm1
movsd qword [ecx + 8], xmm0
movsd xmm1, qword [ecx + 0x10]
movsd xmm0, qword [edi + 0x10]
comisd xmm0, xmm1
ja 0x102c5c69
movaps xmm0, xmm1
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [edi + 0x18]
movsd xmm1, qword [ecx + 0x18]
comisd xmm1, xmm0
ja 0x102c5c81
movaps xmm0, xmm1
movsd qword [ecx + 0x18], xmm0
movsd xmm1, qword [ecx + 0x20]
movsd xmm0, qword [edi + 0x20]
comisd xmm0, xmm1
ja 0x102c5c99
movaps xmm0, xmm1
movsd qword [ecx + 0x20], xmm0
movsd qword [edi + 0x28], xmm2
jmp 0x102c5ba0
movsd xmm0, qword [edx + esi*8 + 0xf8]
sub esp, 8
addsd xmm0, qword [edx + esi*8 + 0xf0]
mov ecx, dword [ebx]
lea edx, [esp + 0x46c]
mulsd xmm0, qword [0x103885a0]
mov eax, dword [ecx]
movsd qword [esp], xmm0
push edx
movsd qword [esp + 0x450], xmm0
call dword [eax + 0x48]
push dword [ebp]
movsd xmm0, qword [0x10399a08]
lea eax, [esp + 0x468]
push eax
movsd qword [esp + 0x48c], xmm0
lea ecx, [esp + 0x47c]
movaps xmm0, xmmword [0x103b2940]
sub esp, 8
movups xmmword [esp + 0x484], xmm0
mov byte [esp + 0x49c], 0
movsd xmm0, qword [esp + 0x454]
movsd qword [esp], xmm0
push dword [ebx]
call fcn.102ca4d0
cmp byte [esp + 0x48c], 0
jne 0x102c5d42
mov esi, edi
jmp 0x102c5d99
mov eax, dword [esp + 0x18]
mov ecx, esi
movzx edx, word [eax + 0x1c0]
mov eax, 1
shl eax, cl
test edx, eax
je 0x102c5d6a
mov ecx, dword [esp + 0x18]
push esi
call fcn.1020c1e0
dec dword [esp + 0x14]
jmp 0x102c5d8f
mov ecx, edi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
test edx, eax
je 0x102c5d87
push edi
call fcn.1020c1e0
dec dword [esp + 0x14]
jmp 0x102c5d8f
push esi
mov esi, edi
call fcn.1020c2a0
mov ecx, dword [esp + 0x18]
push esi
call fcn.1020c2a0
mov edx, dword [esp + 0x18]
cmp esi, dword [esp + 0x14]
jl 0x102c5bf0
test byte [esp + 0x48], 1
je 0x102c5dba
push dword [esp + 0x3c]
call sym.skottie.dll_void___cdecl_sk_free_void__
add esp, 4
mov ecx, dword [esp + 0x494]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1037e005
add esp, 0x488
ret