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

Disassembly:
sub esp, 0x110
mov eax, dword [0x537eb4]
xor eax, esp
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x11c]
test eax, eax
mov edx, dword [esp + 0x120]
push ebx
mov ebx, dword [esp + 0x11c]
push ebp
push esi
mov esi, dword [esp + 0x120]
lea ecx, [ebx + eax]
mov dword [esp + 0x48], esi
push edi
mov edi, ebx
mov dword [esp + 0xcc], ebx
mov eax, dword [esi + 0x74b0]
cmovg edi, ecx
cmp dword [esp + 0x138], 0
mov ecx, dword [esi + 0x7578]
mov ebp, dword [esi + 0x760c]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x74b4]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x74b8]
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], eax
je 0x4cf4d6
push dword [esp + 0x134]
lea eax, [esi + 0x682c]
mov dword [esi + 0x750c], 1
mov esi, eax
mov dword [esp + 0xcc], eax
lea edi, [esp + 0x114]
push edx
lea eax, [esp + 0xec]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004c72b3
add esp, 0xc
cmp eax, 0xffffff88
jbe 0x4cddbe
push 0xffffffffffffffec
pop edi
jmp 0x4cf537
mov ebx, dword [esp + 0x4c]
lea eax, [esp + 0xe4]
push dword [ebx]
push eax
lea eax, [esp + 0x100]
push eax
call fcn.004d0336
push dword [ebx + 8]
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0x114]
push eax
call fcn.004d0336
push dword [ebx + 4]
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0x128]
push eax
call fcn.004d0336
add esp, 0x24
mov esi, dword [esp + 0x10c]
mov ebx, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x100]
mov ebp, dword [esi + edx*8 + 4]
mov dl, byte [ebx + edi*8 + 2]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ebp
mov ebp, dword [ebx + edi*8 + 4]
mov byte [esp + 0x17], dl
mov edx, dword [esp + 0x108]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x50], ebp
mov ebp, dword [ecx + eax*8 + 4]
mov bl, byte [esi + edx*8 + 2]
mov byte [esp + 0x16], bl
mov bl, byte [ecx + eax*8 + 2]
mov byte [esp + 0x23], bl
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x10], ebp
movzx ebp, word [ebx + edi*8]
movzx edi, byte [ebx + edi*8 + 3]
mov dword [esp + 0x5c], ebp
movzx ebp, word [esi + edx*8]
movzx edx, byte [esi + edx*8 + 3]
mov dword [esp + 0x68], ebp
movzx ebp, word [ecx + eax*8]
movzx eax, byte [ecx + eax*8 + 3]
mov dword [esp + 0x7c], eax
mov al, byte [esp + 0x23]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edx
cmp al, 1
jbe 0x4ce109
cmp dword [esp + 0x13c], 0
je 0x4cdfea
cmp al, 0x19
jb 0x4cdfea
mov ebp, dword [esp + 0xe4]
mov ebx, ebp
movzx edx, al
mov eax, dword [esp + 0xe8]
sub edx, 5
mov ecx, eax
and ecx, 0x1f
shl ebx, cl
mov ecx, edx
neg ecx
lea esi, [eax + edx]
and ecx, 0x1f
shr ebx, cl
shl ebx, 5
add dword [esp + 0x10], ebx
cmp esi, 0x20
jbe 0x4cdf1b
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4cdfbe
mov edi, dword [esp + 0xec]
cmp edi, dword [esp + 0xf4]
jb 0x4cdf5c
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0x84]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x8c]
jmp 0x4cdfa6
mov ebx, dword [esp + 0xf0]
cmp edi, ebx
je 0x4cdfc5
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4cdf78
mov ecx, edi
sub ecx, ebx
mov eax, ecx
sub edi, ecx
shl eax, 3
sub esi, eax
mov dword [esp + 0xec], edi
push 4
lea eax, [esp + 0x88]
mov dword [esp + 0xec], esi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0xf4]
add esp, 0xc
mov edi, dword [esp + 0xec]
mov dword [esp + 0xe4], ebp
mov ebx, dword [esp + 0xf0]
mov ecx, esi
mov eax, ebp
and ecx, 0x1f
add esi, 5
shl eax, cl
mov ecx, dword [esp + 0x10]
shr eax, 0x1b
add ecx, eax
mov dword [esp + 0xe8], esi
mov dword [esp + 0x10], ecx
jmp 0x4ce0e1
mov ecx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xe4]
and ecx, 0x1f
movzx esi, al
mov edx, ebp
shl edx, cl
mov ecx, esi
add esi, dword [esp + 0xe8]
neg ecx
and ecx, 0x1f
mov dword [esp + 0xe8], esi
shr edx, cl
add dword [esp + 0x10], edx
cmp esi, 0x20
jbe 0x4ce033
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4ce0d6
mov edi, dword [esp + 0xec]
cmp edi, dword [esp + 0xf4]
jb 0x4ce074
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0x98]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0xa0]
jmp 0x4ce0be
mov ebx, dword [esp + 0xf0]
cmp edi, ebx
je 0x4ce0dd
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4ce090
mov ecx, edi
sub ecx, ebx
mov eax, ecx
sub edi, ecx
shl eax, 3
sub esi, eax
mov dword [esp + 0xec], edi
push 4
lea eax, [esp + 0x8c]
mov dword [esp + 0xec], esi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x94]
mov esi, dword [esp + 0xf4]
add esp, 0xc
mov edi, dword [esp + 0xec]
mov dword [esp + 0xe4], ebp
mov ebx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x114]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x114], eax
mov dword [esp + 0x110], ecx
jmp 0x4ce1bc
mov esi, dword [esp + 0xe8]
xor edx, edx
test ebp, ebp
sete dl
test al, al
jne 0x4ce140
mov ebx, dword [esp + edx*4 + 0x110]
neg ebp
sbb eax, eax
mov ebp, dword [esp + 0xe4]
and eax, 4
mov eax, dword [esp + eax + 0x110]
mov dword [esp + 0x114], eax
jmp 0x4ce1a1
mov ebp, dword [esp + 0xe4]
mov ecx, esi
and ecx, 0x1f
mov eax, ebp
shl eax, cl
shr eax, 0x1f
inc esi
mov dword [esp + 0xe8], esi
lea ecx, [eax + edx]
mov edx, dword [esp + 0x110]
add ecx, dword [esp + 0x10]
lea ebx, [edx - 1]
cmp ecx, 3
je 0x4ce178
mov ebx, dword [esp + ecx*4 + 0x110]
xor eax, eax
test ebx, ebx
sete al
sub ebx, eax
mov eax, dword [esp + 0x118]
cmp ecx, 1
cmovne eax, dword [esp + 0x114]
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], edx
mov edi, dword [esp + 0xec]
mov ecx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0xf0]
mov al, byte [esp + 0x16]
mov dword [esp + 0x58], ecx
test al, al
je 0x4ce1f8
movzx edx, al
mov ecx, esi
and ecx, 0x1f
mov eax, ebp
shl eax, cl
add esi, edx
mov ecx, edx
mov dword [esp + 0xe8], esi
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x1c]
add ecx, eax
mov al, byte [esp + 0x16]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x54], ecx
movzx edx, byte [esp + 0x17]
movzx eax, al
add eax, edx
mov dword [esp + 0x48], edx
cmp eax, 0x14
jb 0x4ce2c3
cmp esi, 0x20
jbe 0x4ce225
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4ce2c3
cmp edi, dword [esp + 0xf4]
jb 0x4ce25f
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0x90]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x98]
jmp 0x4ce2a0
cmp edi, ebx
je 0x4ce2c3
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4ce274
mov ecx, edi
sub ecx, ebx
imul eax, ecx, 0xfffffff8
sub edi, ecx
push 4
push edi
mov dword [esp + 0xf4], edi
add esi, eax
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0xf4], esi
call fcn.004e4a90
mov ebp, dword [esp + 0x9c]
mov edx, dword [esp + 0x54]
add esp, 0xc
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xe4], ebp
cmp byte [esp + 0x17], 0
jbe 0x4ce2f3
mov ecx, esi
mov eax, ebp
and ecx, 0x1f
add esi, edx
shl eax, cl
mov ecx, edx
neg ecx
mov dword [esp + 0xe8], esi
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], ecx
cmp esi, 0x20
jbe 0x4ce309
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4ce3a3
cmp edi, dword [esp + 0xf4]
jb 0x4ce343
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0xd8]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0xe0]
jmp 0x4ce384
cmp edi, ebx
je 0x4ce3a3
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4ce358
mov ecx, edi
sub ecx, ebx
imul eax, ecx, 0xfffffff8
sub edi, ecx
push 4
push edi
mov dword [esp + 0xf4], edi
add esi, eax
lea eax, [esp + 0xa0]
push eax
mov dword [esp + 0xf4], esi
call fcn.004e4a90
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0xf4]
add esp, 0xc
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xe4], ebp
mov edx, dword [esp + 0x138]
cmp edx, 1
je 0x4ce586
mov eax, dword [esp + 0x64]
mov edx, ebp
add esi, eax
mov ecx, esi
neg ecx
and ecx, 0x1f
shr edx, cl
and edx, dword [eax*4 + 0x5310c8]
mov eax, dword [esp + 0x5c]
movzx eax, ax
add edx, eax
mov eax, dword [esp + 0x60]
add esi, eax
mov dword [esp + 0xf8], edx
mov ecx, esi
mov edx, ebp
neg ecx
and ecx, 0x1f
shr edx, cl
and edx, dword [eax*4 + 0x5310c8]
mov eax, dword [esp + 0x68]
movzx eax, ax
add edx, eax
mov dword [esp + 0x108], edx
cmp esi, 0x20
jbe 0x4ce419
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4ce4b5
cmp edi, dword [esp + 0xf4]
jb 0x4ce453
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0xb0]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0xb8]
jmp 0x4ce496
cmp edi, ebx
je 0x4ce4b5
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4ce468
mov ecx, edi
sub ecx, ebx
mov eax, ecx
sub edi, ecx
shl eax, 3
sub esi, eax
mov dword [esp + 0xec], edi
push 4
lea eax, [esp + 0xd4]
mov dword [esp + 0xec], esi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0xf4]
add esp, 0xc
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xe4], ebp
mov eax, dword [esp + 0x7c]
lea edx, [esi + eax]
mov ecx, edx
mov dword [esp + 0xe8], edx
neg ecx
and ecx, 0x1f
shr ebp, cl
and ebp, dword [eax*4 + 0x5310c8]
mov eax, dword [esp + 0x38]
movzx eax, ax
add eax, ebp
mov dword [esp + 0x100], eax
cmp edx, 0x20
jbe 0x4ce4f8
mov dword [esp + 0xec], 0x530a6c
jmp 0x4ce57f
cmp edi, dword [esp + 0xf4]
jb 0x4ce532
mov eax, edx
and edx, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], edx
push 4
lea eax, [esp + 0xa0]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov eax, dword [esp + 0xa8]
jmp 0x4ce575
cmp edi, ebx
je 0x4ce57f
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4ce547
mov ecx, edi
sub ecx, ebx
mov eax, ecx
sub edi, ecx
shl eax, 3
sub edx, eax
mov dword [esp + 0xec], edi
push 4
lea eax, [esp + 0xa4]
mov dword [esp + 0xec], edx
push edi
push eax
call fcn.004e4a90
mov eax, dword [esp + 0xac]
mov dword [esp + 0xf0], eax
add esp, 0xc
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x24]
lea esi, [esp + 0x50]
mov ecx, dword [esp + 0x28]
lea edi, [esp + 0x70]
mov ebp, dword [esp + 0x4c]
movsd dword es:[edi], dword [esi]
lea eax, [ebx + ecx]
mov dword [esp + 0x38], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x760c]
cmp eax, esi
ja 0x4ce81e
lea esi, [esp + 0x50]
lea edi, [esp + 0xd8]
movsd dword es:[edi], dword [esi]
lea edx, [eax - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add edi, ebx
lea ebp, [ebx + esi]
mov ebx, ebp
sub ebx, dword [esp + 0x10]
cmp eax, dword [esp + 0x3c]
ja 0x4ce7bf
lea eax, [edi + esi]
cmp eax, edx
ja 0x4ce7bf
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x20]
sub ecx, esi
cmp ecx, eax
jb 0x4ce7bf
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
cmp eax, 0x10
jbe 0x4ce645
lea edx, [ecx + 0x10]
add eax, 0xfffffff0
lea ecx, [esi + 0x10]
movups xmm0, xmmword [edx]
lea esi, [ecx + eax]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x4ce645
push 0x10
pop eax
add ecx, eax
add edx, eax
movups xmm0, xmmword [edx]
add edx, eax
movups xmmword [ecx], xmm0
add ecx, eax
movups xmm0, xmmword [edx]
add edx, eax
movups xmmword [ecx], xmm0
add ecx, eax
cmp ecx, esi
jb 0x4ce62d
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov eax, ebp
sub eax, edx
cmp ecx, eax
jbe 0x4ce6ba
mov eax, ebp
sub eax, dword [esp + 0x44]
cmp ecx, eax
ja 0x4cddb6
mov esi, dword [esp + 0x40]
mov eax, esi
mov ecx, dword [esp + 0x1c]
sub eax, edx
add ebx, eax
lea eax, [ebx + ecx]
cmp eax, esi
ja 0x4ce698
push ecx
push ebx
push ebp
call fcn.004e5010
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x4ce7fc
sub esi, ebx
push esi
push ebx
push ebp
call fcn.004e5010
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x34]
add ebp, esi
sub edx, esi
mov dword [esp + 0xdc], edx
jmp 0x4ce6c1
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x1c], edx
cmp ecx, 0x10
jb 0x4ce703
movups xmm0, xmmword [ebx]
push 0x10
pop ecx
lea eax, [edx + ebp]
movups xmmword [ebp], xmm0
cmp edx, ecx
jle 0x4ce68f
add ebp, 0x10
add ebx, ecx
movups xmm0, xmmword [ebx]
add ebx, ecx
movups xmmword [ebp], xmm0
add ebp, ecx
movups xmm0, xmmword [ebx]
add ebx, ecx
movups xmmword [ebp], xmm0
add ebp, ecx
cmp ebp, eax
jb 0x4ce6e7
jmp 0x4ce68f
cmp ecx, 8
jae 0x4ce736
mov al, byte [ebx]
mov byte [ebp], al
mov al, byte [ebx + 1]
mov byte [ebp + 1], al
mov al, byte [ebx + 2]
mov byte [ebp + 2], al
mov al, byte [ebx + 3]
add ebx, dword [ecx*4 + 0x530f88]
mov byte [ebp + 3], al
mov edx, ebx
sub ebx, dword [ecx*4 + 0x530fa8]
lea eax, [ebp + 4]
push 4
jmp 0x4ce73c
mov eax, ebp
mov edx, ebx
push 8
pop ecx
push ecx
push edx
push eax
call fcn.004e4a90
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, 8
jbe 0x4ce68f
add ebp, 8
lea ecx, [eax - 8]
add ebx, 8
mov eax, ebp
sub eax, ebx
lea esi, [ecx + ebp]
cmp eax, 0x10
jge 0x4ce787
sub ebx, ebp
push 8
lea eax, [ebx + ebp]
push eax
push ebp
call fcn.004e4a90
add ebp, 8
add esp, 0xc
cmp ebp, esi
jb 0x4ce76c
jmp 0x4ce68f
movups xmm0, xmmword [ebx]
movups xmmword [ebp], xmm0
cmp ecx, 0x10
jle 0x4ce68f
push 0x10
add ebp, 0x10
add ebx, 0x10
pop ecx
movups xmm0, xmmword [ebx]
add ebx, ecx
movups xmmword [ebp], xmm0
add ebp, ecx
movups xmm0, xmmword [ebx]
add ebx, ecx
movups xmmword [ebp], xmm0
add ebp, ecx
cmp ebp, esi
jb 0x4ce7a0
jmp 0x4ce68f
push dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push dword [esp + 0x48]
lea esi, [esp + 0x58]
push dword [esp + 0x3c]
push dword [esp + 0x48]
push eax
sub esp, 0xc
mov edi, esp
push edx
push dword [esp + 0x54]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004d01b6
mov edi, eax
add esp, 0x2c
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp edi, 0xffffff88
ja 0x4cf537
add ebx, edi
sub dword [esp + 0x138], 1
mov dword [esp + 0x18], ebx
jne 0x4cde0c
jmp 0x4cf49f
test edx, edx
jle 0x4cf493
sub esi, ecx
je 0x4ce858
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
sub eax, edi
cmp esi, eax
jbe 0x4ce83f
push 0xffffffffffffffba
jmp 0x4cddb8
push esi
push ecx
push edi
call fcn.004d056a
sub ebx, esi
add esp, 0xc
add edi, esi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x18], edi
jmp 0x4ce85c
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
lea esi, [esp + 0x70]
and dword [ebp + 0x7610], 0
lea edi, [esp + 0xd8]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x7614]
lea ecx, [ebp + 0x17614]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], eax
add eax, ebx
mov dword [esp + 0x3c], ecx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x28], eax
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
lea edi, [edx + ebx]
lea ebp, [ebx + esi]
mov ebx, ebp
sub ebx, dword [esp + 0x78]
cmp eax, ecx
ja 0x4cea95
mov eax, dword [esp + 0x30]
lea ecx, [edi + esi]
add eax, 0xffffffe0
cmp ecx, eax
ja 0x4cea91
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x20]
sub ecx, esi
cmp ecx, eax
jb 0x4cea91
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
movups xmm0, xmmword [ecx + 0x7614]
movups xmmword [esi], xmm0
cmp eax, 0x10
jbe 0x4ce922
lea edx, [ecx + 0x7624]
add eax, 0xfffffff0
lea ecx, [esi + 0x10]
movups xmm0, xmmword [edx]
lea esi, [ecx + eax]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x4ce91e
push 0x10
pop eax
add ecx, eax
add edx, eax
movups xmm0, xmmword [edx]
add edx, eax
movups xmmword [ecx], xmm0
add ecx, eax
movups xmm0, xmmword [edx]
add edx, eax
movups xmmword [ecx], xmm0
add ecx, eax
cmp ecx, esi
jb 0x4ce906
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov eax, ebp
sub eax, ecx
cmp dword [esp + 0x78], eax
jbe 0x4ce991
mov eax, ebp
sub eax, dword [esp + 0x44]
cmp dword [esp + 0x78], eax
ja 0x4cddb6
mov esi, dword [esp + 0x40]
mov eax, esi
sub eax, ecx
add ebx, eax
lea eax, [ebx + edx]
cmp eax, esi
ja 0x4ce96d
push edx
push ebx
push ebp
call fcn.004e5010
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x4ceace
sub esi, ebx
push esi
push ebx
push ebp
call fcn.004e5010
mov eax, dword [esp + 0x80]
add ebp, esi
mov ebx, dword [esp + 0x40]
add esp, 0xc
sub eax, esi
mov dword [esp + 0x38], eax
mov esi, eax
jmp 0x4ce998
mov esi, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
push 0x10
pop edx
cmp ecx, edx
jb 0x4ce9d5
lea eax, [esi + ebp]
movups xmm0, xmmword [ebx]
movups xmmword [ebp], xmm0
cmp esi, edx
jle 0x4ce964
add ebp, 0x10
add ebx, edx
movups xmm0, xmmword [ebx]
add ebx, edx
movups xmmword [ebp], xmm0
add ebp, edx
movups xmm0, xmmword [ebx]
add ebx, edx
movups xmmword [ebp], xmm0
add ebp, edx
cmp ebp, eax
jb 0x4ce9b9
jmp 0x4ce964
cmp ecx, 8
jae 0x4cea08
mov al, byte [ebx]
mov byte [ebp], al
mov al, byte [ebx + 1]
mov byte [ebp + 1], al
mov al, byte [ebx + 2]
mov byte [ebp + 2], al
mov al, byte [ebx + 3]
add ebx, dword [ecx*4 + 0x530f88]
mov byte [ebp + 3], al
mov edx, ebx
sub ebx, dword [ecx*4 + 0x530fa8]
lea eax, [ebp + 4]
push 4
jmp 0x4cea0e
mov eax, ebp
mov edx, ebx
push 8
pop ecx
push ecx
push edx
push eax
call fcn.004e4a90
add esp, 0xc
cmp esi, 8
jbe 0x4ce964
add ebp, 8
add esi, 0xfffffff8
add ebx, 8
mov eax, ebp
push 0x10
sub eax, ebx
pop edx
lea ecx, [esi + ebp]
mov dword [esp + 0x38], ecx
cmp eax, edx
jge 0x4cea5d
sub ebx, ebp
mov esi, ecx
push 8
lea eax, [ebx + ebp]
push eax
push ebp
call fcn.004e4a90
add ebp, 8
add esp, 0xc
cmp ebp, esi
jb 0x4cea42
jmp 0x4ce964
movups xmm0, xmmword [ebx]
movups xmmword [ebp], xmm0
cmp esi, edx
jle 0x4ce964
add ebp, 0x10
add ebx, 0x10
movups xmm0, xmmword [ebx]
add ebx, edx
movups xmmword [ebp], xmm0
add ebp, edx
movups xmm0, xmmword [ebx]
add ebx, edx
movups xmmword [ebp], xmm0
add ebp, edx
cmp ebp, ecx
jb 0x4cea72
jmp 0x4ce964
mov ecx, dword [esp + 0x3c]
push dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push dword [esp + 0x48]
lea esi, [esp + 0x78]
push dword [esp + 0x3c]
push ecx
push eax
sub esp, 0xc
mov edi, esp
push dword [esp + 0x50]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004d00d1
mov edi, eax
add esp, 0x28
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp edi, 0xffffff88
ja 0x4cf537
mov edx, dword [esp + 0x138]
add ebx, edi
dec edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x138], edx
test edx, edx
jle 0x4cf499
mov esi, dword [esp + 0x10c]
mov ebx, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x100]
mov ebp, dword [esi + edx*8 + 4]
mov dl, byte [ebx + edi*8 + 2]
mov byte [esp + 0x16], dl
mov edx, dword [esp + 0x108]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x54], ebp
mov ebp, dword [ebx + edi*8 + 4]
mov bl, byte [esi + edx*8 + 2]
mov byte [esp + 0x17], bl
mov bl, byte [ecx + eax*8 + 2]
mov byte [esp + 0x23], bl
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x50], ebp
mov ebp, dword [ecx + eax*8 + 4]
mov dword [esp + 0x10], ebp
movzx ebp, word [ebx + edi*8]
movzx edi, byte [ebx + edi*8 + 3]
mov dword [esp + 0xb0], ebp
movzx ebp, word [esi + edx*8]
movzx edx, byte [esi + edx*8 + 3]
mov dword [esp + 0xb8], ebp
movzx ebp, word [ecx + eax*8]
movzx eax, byte [ecx + eax*8 + 3]
mov dword [esp + 0xc0], eax
mov al, byte [esp + 0x23]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xc4], edi
mov dword [esp + 0xb4], edx
cmp al, 1
jbe 0x4cedea
cmp dword [esp + 0x13c], 0
je 0x4cecd7
cmp al, 0x19
jb 0x4cecd7
mov ebp, dword [esp + 0xe4]
mov ebx, ebp
movzx edx, al
mov eax, dword [esp + 0xe8]
sub edx, 5
mov ecx, eax
and ecx, 0x1f
shl ebx, cl
mov ecx, edx
neg ecx
lea esi, [eax + edx]
and ecx, 0x1f
shr ebx, cl
shl ebx, 5
add dword [esp + 0x10], ebx
cmp esi, 0x20
jbe 0x4cec0e
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4cecab
mov edi, dword [esp + 0xec]
cmp edi, dword [esp + 0xf4]
jb 0x4cec49
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0x3c]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x44]
jmp 0x4cec93
mov ebx, dword [esp + 0xf0]
cmp edi, ebx
je 0x4cecb2
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4cec65
mov ecx, edi
sub ecx, ebx
mov eax, ecx
sub edi, ecx
shl eax, 3
sub esi, eax
mov dword [esp + 0xec], edi
push 4
lea eax, [esp + 0x80]
mov dword [esp + 0xec], esi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0xf4]
add esp, 0xc
mov edi, dword [esp + 0xec]
mov dword [esp + 0xe4], ebp
mov ebx, dword [esp + 0xf0]
mov ecx, esi
mov eax, ebp
and ecx, 0x1f
add esi, 5
shl eax, cl
mov ecx, dword [esp + 0x10]
shr eax, 0x1b
add ecx, eax
mov dword [esp + 0xe8], esi
mov dword [esp + 0x10], ecx
jmp 0x4cedc2
mov ecx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xe4]
and ecx, 0x1f
movzx esi, al
mov edx, ebp
shl edx, cl
mov ecx, esi
add esi, dword [esp + 0xe8]
neg ecx
and ecx, 0x1f
mov dword [esp + 0xe8], esi
shr edx, cl
add dword [esp + 0x10], edx
cmp esi, 0x20
jbe 0x4ced20
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4cedb7
mov edi, dword [esp + 0xec]
cmp edi, dword [esp + 0xf4]
jb 0x4ced5b
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0x6c]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x74]
jmp 0x4ced9f
mov ebx, dword [esp + 0xf0]
cmp edi, ebx
je 0x4cedbe
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4ced77
mov ecx, edi
sub ecx, ebx
mov eax, ecx
sub edi, ecx
shl eax, 3
sub esi, eax
mov dword [esp + 0xec], edi
push 4
lea eax, [esp + 0x64]
mov dword [esp + 0xec], esi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0xf4]
add esp, 0xc
mov edi, dword [esp + 0xec]
mov dword [esp + 0xe4], ebp
mov ebx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x114]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x114], eax
mov dword [esp + 0x110], ecx
jmp 0x4cee9b
mov ecx, dword [esp + 0x24]
xor edx, edx
mov esi, dword [esp + 0xe8]
test ecx, ecx
mov ebp, dword [esp + 0xe4]
sete dl
test al, al
jne 0x4cee25
mov ebx, dword [esp + edx*4 + 0x110]
neg ecx
sbb eax, eax
and eax, 4
mov eax, dword [esp + eax + 0x110]
mov dword [esp + 0x114], eax
jmp 0x4cee80
mov ecx, esi
mov eax, ebp
and ecx, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x10]
add ecx, edx
shr eax, 0x1f
mov edx, dword [esp + 0x110]
inc esi
add ecx, eax
mov dword [esp + 0xe8], esi
lea ebx, [edx - 1]
cmp ecx, 3
je 0x4cee57
mov ebx, dword [esp + ecx*4 + 0x110]
xor eax, eax
test ebx, ebx
sete al
sub ebx, eax
mov eax, dword [esp + 0x118]
cmp ecx, 1
cmovne eax, dword [esp + 0x114]
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], edx
mov edi, dword [esp + 0xec]
mov ecx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0xf0]
mov al, byte [esp + 0x17]
mov dword [esp + 0x58], ecx
test al, al
je 0x4ceed7
movzx edx, al
mov ecx, esi
and ecx, 0x1f
mov eax, ebp
shl eax, cl
add esi, edx
mov ecx, edx
mov dword [esp + 0xe8], esi
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x1c]
add ecx, eax
mov al, byte [esp + 0x17]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x54], ecx
movzx edx, byte [esp + 0x16]
movzx eax, al
add eax, edx
mov dword [esp + 0x48], edx
cmp eax, 0x14
jb 0x4cef96
cmp esi, 0x20
jbe 0x4cef04
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4cef96
cmp edi, dword [esp + 0xf4]
jb 0x4cef38
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0x60]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0x68]
jmp 0x4cef73
cmp edi, ebx
je 0x4cef96
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4cef4d
mov ecx, edi
sub ecx, ebx
imul eax, ecx, 0xfffffff8
sub edi, ecx
push 4
push edi
mov dword [esp + 0xf4], edi
add esi, eax
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0xf4], esi
call fcn.004e4a90
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
add esp, 0xc
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xe4], ebp
cmp byte [esp + 0x16], 0
jbe 0x4cefc6
mov ecx, esi
mov eax, ebp
and ecx, 0x1f
add esi, edx
shl eax, cl
mov ecx, edx
neg ecx
mov dword [esp + 0xe8], esi
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], ecx
cmp esi, 0x20
jbe 0x4cefdc
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4cf076
cmp edi, dword [esp + 0xf4]
jb 0x4cf016
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0xa8]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0xb0]
jmp 0x4cf057
cmp edi, ebx
je 0x4cf076
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4cf02b
mov ecx, edi
sub ecx, ebx
imul eax, ecx, 0xfffffff8
sub edi, ecx
push 4
push edi
mov dword [esp + 0xf4], edi
add esi, eax
lea eax, [esp + 0xb0]
push eax
mov dword [esp + 0xf4], esi
call fcn.004e4a90
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0xf4]
add esp, 0xc
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xe4], ebp
cmp dword [esp + 0x138], 1
je 0x4cf216
mov eax, dword [esp + 0xc4]
mov edx, ebp
add esi, eax
mov ecx, esi
neg ecx
and ecx, 0x1f
shr edx, cl
and edx, dword [eax*4 + 0x5310c8]
mov eax, dword [esp + 0xb0]
movzx eax, ax
add edx, eax
mov eax, dword [esp + 0xb4]
add esi, eax
mov dword [esp + 0xf8], edx
mov ecx, esi
mov edx, ebp
neg ecx
and ecx, 0x1f
shr edx, cl
and edx, dword [eax*4 + 0x5310c8]
mov eax, dword [esp + 0xb8]
movzx eax, ax
add edx, eax
mov dword [esp + 0x108], edx
cmp esi, 0x20
jbe 0x4cf0f6
mov edi, 0x530a6c
mov dword [esp + 0xec], edi
jmp 0x4cf184
cmp edi, dword [esp + 0xf4]
jb 0x4cf133
mov eax, esi
and esi, 7
shr eax, 3
sub edi, eax
mov dword [esp + 0xe8], esi
push 4
lea eax, [esp + 0xc0]
mov dword [esp + 0xf0], edi
push edi
push eax
call fcn.004e4a90
mov ebp, dword [esp + 0xc8]
add esp, 0xc
jmp 0x4cf168
cmp edi, ebx
je 0x4cf184
mov ecx, esi
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4cf148
mov ecx, edi
sub ecx, ebx
mov eax, ecx
sub edi, ecx
shl eax, 3
sub esi, eax
mov dword [esp + 0xec], edi
push edi
mov dword [esp + 0xec], esi
call fcn.004c3bfe
pop ecx
mov ebp, eax
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xe4], ebp
mov eax, dword [esp + 0xc0]
lea edx, [eax + esi]
mov ecx, edx
mov dword [esp + 0xe8], edx
neg ecx
and ecx, 0x1f
shr ebp, cl
and ebp, dword [eax*4 + 0x5310c8]
mov eax, dword [esp + 0x6c]
movzx eax, ax
add eax, ebp
mov dword [esp + 0x100], eax
cmp edx, 0x20
jbe 0x4cf1c7
mov dword [esp + 0xec], 0x530a6c
jmp 0x4cf216
cmp edi, dword [esp + 0xf4]
jb 0x4cf1dc
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x4cf1fa
cmp edi, ebx
je 0x4cf216
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x4cf1f1
mov ecx, edi
sub ecx, ebx
mov eax, ecx
sub edi, ecx
shl eax, 3
sub edx, eax
push edi
mov dword [esp + 0xf0], edi
mov dword [esp + 0xec], edx
call fcn.004c3bfe
mov dword [esp + 0xe8], eax
pop ecx
mov eax, dword [esp + 0x24]
lea esi, [esp + 0x50]
mov edx, dword [esp + 0x1c]
lea edi, [esp + 0xd8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
lea edi, [eax + edx]
lea ebp, [eax + esi]
add eax, dword [esp + 0x28]
mov ebx, ebp
mov dword [esp + 0x6c], eax
sub ebx, dword [esp + 0x10]
cmp eax, dword [esp + 0x3c]
ja 0x4cf438
mov eax, dword [esp + 0x30]
lea ecx, [edi + esi]
add eax, 0xffffffe0
cmp ecx, eax
ja 0x4cf438
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x20]
sub ecx, esi
cmp ecx, eax
jb 0x4cf438
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
cmp ecx, 0x10
jbe 0x4cf2c2
mov edx, dword [esp + 0x28]
lea eax, [ecx - 0x10]
add edx, 0x10
lea ecx, [esi + 0x10]
lea esi, [ecx + eax]
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x4cf2be
push 0x10
pop eax
add ecx, eax
add edx, eax
movups xmm0, xmmword [edx]
add edx, eax
movups xmmword [ecx], xmm0
add ecx, eax
movups xmm0, xmmword [edx]
add edx, eax
movups xmmword [ecx], xmm0
add ecx, eax
cmp ecx, esi
jb 0x4cf2a6
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov eax, ebp
sub eax, esi
cmp ecx, eax
jbe 0x4cf335
mov eax, ebp
sub eax, dword [esp + 0x44]
cmp ecx, eax
ja 0x4cddb6
mov ecx, dword [esp + 0x40]
mov eax, ecx
sub eax, esi
add ebx, eax
lea eax, [edx + ebx]
cmp eax, ecx
ja 0x4cf311
push edx
push ebx
push ebp
call fcn.004e5010
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x4cf474
mov esi, ecx
sub esi, ebx
push esi
push ebx
push ebp
call fcn.004e5010
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x34]
add ebp, esi
sub edx, esi
mov dword [esp + 0xdc], edx
jmp 0x4cf33c
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x1c], edx
cmp ecx, 0x10
jb 0x4cf37e
movups xmm0, xmmword [ebx]
push 0x10
pop ecx
lea eax, [edx + ebp]
movups xmmword [ebp], xmm0
cmp edx, ecx
jle 0x4cf308
add ebp, 0x10
add ebx, ecx
movups xmm0, xmmword [ebx]
add ebx, ecx
movups xmmword [ebp], xmm0
add ebp, ecx
movups xmm0, xmmword [ebx]
add ebx, ecx
movups xmmword [ebp], xmm0
add ebp, ecx
cmp ebp, eax
jb 0x4cf362
jmp 0x4cf308
cmp ecx, 8
jae 0x4cf3bb
mov al, byte [ebx]
mov esi, dword [ecx*4 + 0x530fa8]
mov byte [ebp], al
mov al, byte [ebx + 1]
mov byte [ebp + 1], al
mov al, byte [ebx + 2]
mov byte [ebp + 2], al
mov al, byte [ebx + 3]
add ebx, dword [ecx*4 + 0x530f88]
push 4
mov byte [ebp + 3], al
lea eax, [ebp + 4]
push ebx
push eax
call fcn.004e4a90
add esp, 0xc
sub ebx, esi
jmp 0x4cf3c4
push ebx
push ebp
call fcn.004cb2b4
pop ecx
pop ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, 8
jbe 0x4cf308
add ebp, 8
add ecx, 0xfffffff8
add ebx, 8
mov eax, ebp
sub eax, ebx
lea esi, [ecx + ebp]
cmp eax, 0x10
jge 0x4cf400
sub ebx, ebp
lea eax, [ebx + ebp]
push eax
push ebp
call fcn.004cb2b4
add ebp, 8
pop ecx
pop ecx
cmp ebp, esi
jb 0x4cf3e8
jmp 0x4cf308
movups xmm0, xmmword [ebx]
movups xmmword [ebp], xmm0
cmp ecx, 0x10
jle 0x4cf308
push 0x10
add ebp, 0x10
add ebx, 0x10
pop ecx
movups xmm0, xmmword [ebx]
add ebx, ecx
movups xmmword [ebp], xmm0
add ebp, ecx
movups xmm0, xmmword [ebx]
add ebx, ecx
movups xmmword [ebp], xmm0
add ebp, ecx
cmp ebp, esi
jb 0x4cf419
jmp 0x4cf308
push dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push dword [esp + 0x48]
lea esi, [esp + 0x58]
push dword [esp + 0x3c]
push dword [esp + 0x48]
push eax
sub esp, 0xc
mov edi, esp
push dword [esp + 0x50]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004d00d1
mov edi, eax
add esp, 0x28
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp edi, 0xffffff88
ja 0x4cf537
add ebx, edi
sub dword [esp + 0x138], 1
mov dword [esp + 0x18], ebx
jne 0x4ceaf4
jmp 0x4cf49f
mov ebx, dword [esp + 0x18]
test edx, edx
jne 0x4cddb6
lea eax, [esp + 0xe4]
push eax
call fcn.004c729a
pop ecx
test eax, eax
je 0x4cddb6
mov edi, dword [esp + 0xc8]
lea esi, [esp + 0x110]
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x30]
cmp dword [esi + 0x7610], 2
jne 0x4cf511
mov eax, edi
sub ebp, ecx
sub eax, ebx
cmp ebp, eax
ja 0x4ce838
test ebx, ebx
je 0x4cf4fe
push ebp
push ecx
push ebx
call fcn.004e5010
add esp, 0xc
add ebx, ebp
and dword [esi + 0x7610], 0
lea ecx, [esi + 0x7614]
lea ebp, [esi + 0x17614]
sub ebp, ecx
sub edi, ebx
cmp ebp, edi
ja 0x4ce838
test ebx, ebx
je 0x4cf52e
push ebp
push ecx
push ebx
call fcn.004e4a90
add esp, 0xc
add ebx, ebp
mov edi, ebx
sub edi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x11c]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004e3fdc
add esp, 0x110
ret