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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov esi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [0x5c1040]
xor eax, ebp
mov dword [esp + 0xe8], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x58], 0xffffff00
mov dword [esp + 0x50], ecx
cmp eax, ecx
mov dword [esp + 0x54], eax
je 0x4e8fc7
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x34], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], 0
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x2c], eax
mov edi, dword [ebp + 0x24]
mov al, byte [ebp + 0x28]
mov byte [esp + 0x1f], al
lea eax, [esi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x98]
mov dword [esp + 0x4c], eax
cmp eax, 0xffffffff
je 0x4e8bac
mov eax, dword [ebx + 0x98]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, ecx
sar edx, 5
cmp edx, eax
jbe 0x4e9491
shl eax, 5
mov eax, dword [ecx + eax + 0x10]
mov dword [esp + 0x48], eax
and eax, 0xffffff00
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x98]
cmp byte [esp + 0x1f], 0
mov dword [esp + 0xc], esi
je 0x4e8feb
lea ecx, [ebp + 0x10]
lea edx, [esi + 4]
mov dword [esp + 0x14], edx
cmp eax, 0xffffffff
je 0x4e8bd8
mov dword [esp + 0x24], esp
movups xmm0, xmmword [ecx]
movaps xmmword [esp + 0x80], xmm0
mov eax, ebx
shr eax, 0xe
mov ecx, ebx
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x5ca8dc]
bt ecx, eax
jae 0x4e8bb9
push ebx
call fcn.004bf6f0
add esp, 4
mov edx, dword [ebx + 0x98]
movaps xmm0, xmmword [esp + 0x80]
movaps xmmword [esp + 0x90], xmm0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ebx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 5
cmp eax, edx
jbe 0x4e9482
mov eax, edx
shl eax, 5
mov ecx, dword [ecx + eax + 0x18]
mov dword [ecx + 0x98], 0xffffffff
mov ecx, dword [esi + 8]
mov edi, edx
mov edx, dword [esi + 0xc]
sub edx, ecx
sar edx, 5
mov dword [esp + 0x10], edi
cmp edx, edi
jbe 0x4e9482
add ecx, eax
lea esi, [esp + 0xc0]
push esi
call fcn.004ea640
lea edi, [esp + 0xb8]
lea ecx, [esp + 0x90]
push edi
call fcn.004ea640
mov eax, dword [esi]
cmp eax, dword [edi]
mov eax, dword [esi + 4]
sbb eax, dword [edi + 4]
jge 0x4e8def
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0xd0], xmm0
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0xc0], xmm0
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0xd8], eax
mov esi, dword [esp + 0xc]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov ecx, edi
sub ecx, ebx
sar ecx, 5
mov edx, dword [esp + 0x10]
lea eax, [edx*2 + 1]
mov dword [esp + 0x28], eax
cmp eax, ecx
jae 0x4e87cb
lea esi, [edx + edx]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x10], edx
add esi, 2
cmp esi, ecx
jae 0x4e8a3d
sub edi, ebx
sar edi, 5
cmp edi, esi
jbe 0x4e9482
mov eax, esi
mov esi, dword [esp + 0x28]
cmp edi, esi
jbe 0x4e9482
mov ecx, eax
mov dword [esp + 0x18], eax
shl ecx, 5
add ecx, ebx
mov edi, esi
shl edi, 5
add edi, ebx
lea eax, [esp + 0xb8]
push eax
call fcn.004ea640
mov ecx, edi
lea eax, [esp + 0xb0]
push eax
call fcn.004ea640
mov eax, dword [esp + 0xb8]
cmp eax, dword [esp + 0xb0]
mov eax, dword [esp + 0xbc]
sbb eax, dword [esp + 0xb4]
cmovl esi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov edx, esi
sub edi, ebx
sar edi, 5
cmp edi, edx
jbe 0x4e9482
mov esi, edx
shl esi, 5
add ebx, esi
mov ecx, ebx
lea eax, [esp + 0xb8]
push eax
mov dword [esp + 0x18], edx
call fcn.004ea640
lea ecx, [esp + 0xc0]
lea eax, [esp + 0xb0]
push eax
call fcn.004ea640
mov eax, dword [esp + 0xb8]
cmp eax, dword [esp + 0xb0]
mov eax, dword [esp + 0xbc]
sbb eax, dword [esp + 0xb4]
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov eax, edi
jl 0x4e8a84
sub eax, ebx
sar eax, 5
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x18], ecx
mov ecx, eax
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov dword [esp + 0xd8], 0
cmp ecx, edx
je 0x4e8a46
jbe 0x4e9482
mov edi, edx
mov eax, edx
shl eax, 5
lea esi, [ebx + eax]
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [ebx + eax + 0x10], xmm1
movups xmmword [ebx + eax], xmm0
mov eax, dword [ebx + eax + 0x18]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5ca8dc]
bt edx, ecx
jae 0x4e882c
push eax
call fcn.004bf820
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esi + 0x18], eax
mov esi, dword [esp + 0xc]
mov edx, edi
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub ecx, eax
sar ecx, 5
cmp ecx, edx
jbe 0x4e9482
mov ecx, edx
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0x98], edx
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 5
cmp eax, edx
jbe 0x4e9482
mov eax, dword [esp + 0xd8]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5ca8dc]
bt edx, ecx
jb 0x4e94b2
mov eax, dword [esp + 0xa8]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5ca8dc]
bt edx, ecx
jb 0x4e94c0
mov esp, dword [esp + 0x24]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
cmp eax, ecx
je 0x4e8a1f
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x24], esi
mov edi, dword [eax + 8]
mov dword [esp + 0x14], edi
mov edi, dword [eax + 0x14]
mov dword [esp + 0x18], edi
xor esi, esi
mov edi, dword [esp + 0x4c]
cmp edi, 0xffffffff
je 0x4e88fd
movzx edi, byte [esp + 0x48]
mov ebx, dword [esp + 0x58]
or ebx, edi
cmp ebx, 1
je 0x4e949a
cmp byte [esp + 0x1f], 0
je 0x4e890f
cmp dword [esp + 0x2c], 1
je 0x4e94a6
mov edi, dword [esp + 0x50]
cmp dword [esp + 0x54], edi
je 0x4e89db
cmp eax, ecx
je 0x4e89db
cmp esi, dword [esp + 0x44]
jne 0x4e8959
mov edi, dword [esp + 0x10]
xor edi, dword [esp + 0x3c]
xor edx, dword [esp + 0x40]
or edx, edi
jne 0x4e8959
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
xor esi, dword [esp + 0x38]
or esi, edx
jne 0x4e8959
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x30]
je 0x4e89ba
cmp eax, ecx
je 0x4e89d2
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x14]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], eax
mov al, 1
mov esi, dword [ebp + 0xc]
mov byte [esp + 0x78], al
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx]
mov edi, dword [eax + 8]
cmp edi, 0x4e96a0
je 0x4e89f5
mov ecx, edi
call dword [0x5bb424]
sub esp, 0x24
movups xmm0, xmmword [esp + 0x84]
movups xmm1, xmmword [esp + 0x94]
movups xmmword [esp + 0x14], xmm1
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
mov ecx, ebx
call edi
mov ecx, dword [esp + 0xe8]
xor ecx, ebp
call fcn.004f1eb0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x28
mov byte [esp + 0x60], 0
xor eax, eax
jmp 0x4e8976
cmp eax, ecx
setne dl
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x54], esi
setne dh
cmp dh, dl
jne 0x4e8959
jmp 0x4e89ba
mov ecx, dword [ebx + 0x1c]
sub esp, 0x24
movups xmm0, xmmword [esp + 0x84]
movups xmm1, xmmword [esp + 0x94]
movups xmmword [esp + 0x14], xmm1
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call fcn.004c9180
jmp 0x4e89ba
xor edx, edx
dec edx
mov dword [esp + 0x10], 0xffffff00
mov esi, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], edx
jmp 0x4e88e0
mov edx, dword [esp + 0x28]
jmp 0x4e8740
mov eax, dword [esi + 0x10]
cmp edi, eax
jae 0x4e91fb
test edi, edi
je 0x4e947b
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
mov eax, dword [esp + 0x18]
mov dword [edi + 0x18], eax
add edi, 0x20
mov dword [esi + 0xc], edi
jmp 0x4e8839
sub eax, ebx
sar eax, 5
mov ecx, dword [esp + 0x10]
cmp eax, ecx
je 0x4e8b63
mov edx, dword [esp + 0x14]
cmp eax, edx
jbe 0x4e9482
cmp eax, ecx
jbe 0x4e9482
mov edi, ecx
shl edi, 5
movsd xmm0, qword [ebx + esi + 0x10]
movsd qword [ebx + edi + 0x10], xmm0
movups xmm0, xmmword [ebx + esi]
movups xmmword [ebx + edi], xmm0
cmp ecx, edx
je 0x4e8af9
add edi, ebx
mov eax, dword [edi + 0x18]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5ca8dc]
bt edx, ecx
jae 0x4e8aea
push eax
call fcn.004bf820
add esp, 4
add ebx, esi
mov eax, dword [ebx + 0x18]
mov dword [edi + 0x18], eax
mov dword [ebx + 0x18], 0
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
sub ecx, eax
sar ecx, 5
mov esi, dword [esp + 0x10]
cmp ecx, esi
jbe 0x4e9482
mov ecx, esi
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0x98], esi
mov ebx, dword [edx + 8]
mov edi, dword [edx + 0xc]
mov eax, edi
sub eax, ebx
sar eax, 5
cmp eax, esi
jbe 0x4e9482
mov edx, dword [esp + 0x14]
lea ecx, [edx + edx]
mov dword [esp + 0x18], ecx
lea esi, [edx*2 + 1]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x28], esi
cmp esi, ecx
mov esi, dword [esp + 0x18]
jae 0x4e87b6
jmp 0x4e86bb
cmp ecx, dword [esp + 0x14]
jbe 0x4e9482
add ebx, esi
mov esi, dword [esp + 0xc]
cmp edi, dword [esi + 0x10]
jae 0x4e9455
test edi, edi
je 0x4e947b
movsd xmm0, qword [ebx + 0x10]
movsd qword [edi + 0x10], xmm0
movups xmm0, xmmword [ebx]
movups xmmword [edi], xmm0
mov eax, dword [ebx + 0x18]
mov dword [edi + 0x18], eax
mov dword [ebx + 0x18], 0
add edi, 0x20
mov dword [esi + 0xc], edi
jmp 0x4e8af9
mov dword [esp + 0x48], 0
jmp 0x4e8552
mov eax, ebx
shr eax, 0x15
mov byte [eax + 0x5d28dc], 1
jmp 0x4e85ac
mov eax, ebx
shr eax, 0x15
mov byte [eax + 0x5d28dc], 1
jmp 0x4e8c02
movups xmm0, xmmword [ecx]
movaps xmmword [esp + 0x90], xmm0
mov eax, ebx
shr eax, 0xe
mov ecx, ebx
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x5ca8dc]
bt ecx, eax
jae 0x4e8bca
push ebx
call fcn.004bf6f0
add esp, 4
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0xc0], xmm0
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], ebx
mov edi, eax
sub edi, ecx
je 0x4e8cca
sar edi, 5
lea edx, [esp + 0x80]
lea ecx, [esp + 0xc0]
lea esi, [edi - 1]
mov dword [esp + 0x10], esi
shr esi, 1
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub eax, ebx
sar eax, 5
cmp eax, esi
jbe 0x4e9482
mov eax, esi
shl eax, 5
add ebx, eax
push edx
call fcn.004ea640
mov ecx, ebx
lea eax, [esp + 0xb8]
push eax
call fcn.004ea640
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0xb8]
mov eax, dword [esp + 0x84]
sbb eax, dword [esp + 0xbc]
jge 0x4e8cd0
mov ecx, dword [esp + 0x14]
push edi
push esi
call fcn.004e96b0
mov edi, esi
cmp dword [esp + 0x10], 1
lea edx, [esp + 0x80]
lea ecx, [esp + 0xc0]
jbe 0x4e8cd2
jmp 0x4e8c4c
xor esi, esi
mov edi, eax
jmp 0x4e8ce3
mov esi, edi
mov ebx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov dword [esp + 0xd8], 0
mov ecx, edi
sub ecx, eax
sar ecx, 5
cmp ecx, esi
je 0x4e8dad
jbe 0x4e9482
mov ecx, esi
shl ecx, 5
lea edi, [eax + ecx]
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [eax + ecx + 0x10], xmm1
movups xmmword [eax + ecx], xmm0
mov eax, dword [eax + ecx + 0x18]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5ca8dc]
bt edx, ecx
jae 0x4e8d49
push eax
call fcn.004bf820
add esp, 4
mov dword [edi + 0x18], ebx
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
sub ecx, eax
sar ecx, 5
cmp ecx, esi
jbe 0x4e9482
mov ecx, esi
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0x98], esi
mov eax, dword [edx + 0xc]
sub eax, dword [edx + 8]
sar eax, 5
cmp eax, esi
jbe 0x4e9482
mov eax, dword [esp + 0xd8]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5ca8dc]
bt edx, ecx
jb 0x4e94ce
mov esi, dword [esp + 0xc]
jmp 0x4e88b2
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x10]
cmp edi, ecx
jae 0x4e938c
test edi, edi
je 0x4e947b
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
mov dword [edi + 0x18], ebx
add edi, 0x20
mov eax, dword [esp + 0xc]
mov dword [eax + 0xc], edi
jmp 0x4e8d4c
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0xd0], xmm0
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0xc0], xmm0
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xd8], ebx
mov eax, dword [esp + 0x10]
test eax, eax
mov ecx, dword [esp + 0xc]
je 0x4e8ec8
lea edx, [esp + 0xc0]
mov dword [esp + 0x10], eax
lea edi, [eax - 1]
mov dword [esp + 0x18], edi
shr edi, 1
mov ebx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
sub eax, ebx
sar eax, 5
cmp eax, edi
jbe 0x4e9482
mov eax, edi
shl eax, 5
add ebx, eax
mov esi, edx
mov ecx, edx
lea eax, [esp + 0xb8]
push eax
call fcn.004ea640
mov ecx, ebx
lea eax, [esp + 0xb0]
push eax
call fcn.004ea640
mov eax, dword [esp + 0xb8]
cmp eax, dword [esp + 0xb0]
mov eax, dword [esp + 0xbc]
sbb eax, dword [esp + 0xb4]
jge 0x4e8ecc
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
push edi
call fcn.004e96b0
mov eax, edi
cmp dword [esp + 0x18], 1
mov ecx, dword [esp + 0xc]
mov edx, esi
jbe 0x4e8ed4
jmp 0x4e8e41
xor edi, edi
jmp 0x4e8edb
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov ecx, esi
sub ecx, eax
sar ecx, 5
cmp ecx, edi
je 0x4e8f86
jbe 0x4e9482
mov ecx, edi
shl ecx, 5
lea esi, [eax + ecx]
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [eax + ecx + 0x10], xmm1
movups xmmword [eax + ecx], xmm0
mov eax, dword [eax + ecx + 0x18]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5ca8dc]
bt edx, ecx
jae 0x4e8f47
push eax
call fcn.004bf820
add esp, 4
mov dword [esi + 0x18], ebx
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub ecx, eax
sar ecx, 5
cmp ecx, edi
jbe 0x4e9482
mov ecx, edi
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0x98], edi
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 5
cmp eax, edi
ja 0x4e886c
jmp 0x4e9482
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x10]
cmp esi, ecx
jae 0x4e92c3
test esi, esi
je 0x4e947b
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [esi + 0x10], xmm1
movups xmmword [esi], xmm0
mov dword [esi + 0x18], ebx
add esi, 0x20
mov eax, dword [esp + 0xc]
mov dword [eax + 0xc], esi
mov esi, eax
jmp 0x4e8f4e
xor eax, eax
dec eax
mov dword [esp + 0x3c], 0xffffff00
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], eax
jmp 0x4e84fa
cmp eax, 0xffffffff
je 0x4e88b2
mov dword [esp + 0x10], esp
mov edi, dword [ebx + 0x98]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub ecx, eax
sar ecx, 5
cmp ecx, edi
jbe 0x4e9482
mov ecx, edi
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0x98], 0xffffffff
mov eax, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov ecx, esi
sub ecx, eax
sar ecx, 5
dec ecx
cmp ecx, edi
jne 0x4e9082
cmp eax, esi
je 0x4e946d
mov edi, esi
add edi, 0xffffffe0
je 0x4e9474
mov eax, dword [esi - 8]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5ca8dc]
bt edx, ecx
jae 0x4e906b
push eax
call fcn.004bf820
add esp, 4
mov dword [esi - 8], 0
mov esi, dword [esp + 0xc]
mov dword [esi + 0xc], edi
mov esp, dword [esp + 0x10]
jmp 0x4e88b2
cmp esi, eax
je 0x4e9482
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0x98], 0xffffffff
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
je 0x4e9482
lea edx, [ecx + 4]
mov dword [esp + 0x14], edx
movsd xmm0, qword [eax - 0x10]
movsd qword [esp + 0xa0], xmm0
movups xmm0, xmmword [eax - 0x20]
movaps xmmword [esp + 0x90], xmm0
mov edx, dword [eax - 8]
mov dword [esp + 0x20], edx
mov dword [eax - 8], 0
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 5
dec eax
lea edx, [edi*2 + 1]
cmp edx, eax
jae 0x4e9466
lea esi, [edi + edi]
mov dword [esp + 0x24], eax
add esi, 2
cmp esi, eax
jae 0x4e9171
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
sub ecx, eax
sar ecx, 5
cmp ecx, esi
jbe 0x4e9482
cmp ecx, edx
jbe 0x4e9482
mov ecx, esi
shl ecx, 5
add ecx, eax
mov ebx, edx
shl ebx, 5
add ebx, eax
lea eax, [esp + 0xc0]
push eax
mov dword [esp + 0x1c], edx
call fcn.004ea640
mov ecx, ebx
lea eax, [esp + 0x80]
push eax
call fcn.004ea640
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
cmp eax, dword [esp + 0x80]
mov eax, dword [esp + 0xc4]
sbb eax, dword [esp + 0x84]
cmovl edx, esi
mov ebx, edx
mov ecx, dword [esp + 0x14]
push edi
push edx
call fcn.004e96b0
lea esi, [ebx + ebx]
lea edx, [ebx*2 + 1]
mov edi, ebx
mov eax, dword [esp + 0x24]
cmp edx, eax
jb 0x4e90fa
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0xd0], xmm0
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0xc0], xmm0
mov eax, dword [esp + 0x20]
mov dword [esp + 0xd8], eax
sub esp, 0x24
movaps xmm0, xmmword [esp + 0xe4]
movaps xmm1, xmmword [esp + 0xf4]
movups xmmword [esp + 0x14], xmm1
movups xmmword [esp + 4], xmm0
mov dword [esp], ebx
mov ecx, dword [esp + 0x38]
call fcn.0048a3a0
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
jmp 0x4e9036
mov dword [esp + 0x10], edx
mov edi, ecx
inc ecx
cmp ecx, 0x8000000
jae 0x4e94e1
sub eax, ebx
mov edx, eax
sar edx, 4
cmp edx, ecx
cmovbe edx, ecx
cmp eax, 0x7fffffe0
mov esi, 0x7ffffff
cmovb esi, edx
test esi, esi
je 0x4e94ea
cmp esi, 0x8000000
jae 0x4e94dc
mov eax, esi
shl eax, 5
push eax
call fcn.004f190e
add esp, 4
mov ebx, edi
shl ebx, 5
add ebx, eax
mov edx, dword [esp + 0x18]
je 0x4e947b
shl esi, 5
add eax, esi
mov dword [esp + 0x14], eax
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [ebx + 0x10], xmm1
movups xmmword [ebx], xmm0
mov dword [ebx + 0x18], edx
lea edi, [ebx + 0x20]
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub ecx, edx
sub ebx, ecx
push ecx
push edx
push ebx
call fcn.004f53a0
add esp, 0xc
mov eax, dword [esi + 8]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], edi
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x10], ecx
test eax, eax
jne 0x4e92b8
mov edx, dword [esp + 0x10]
jmp 0x4e8a7c
push eax
call fcn.004f193e
add esp, 4
jmp 0x4e92af
lea edx, [edi + 1]
cmp edx, 0x8000000
jae 0x4e94e1
sub ecx, eax
mov eax, ecx
sar eax, 4
cmp eax, edx
cmovbe eax, edx
cmp ecx, 0x7fffffe0
mov esi, 0x7ffffff
cmovb esi, eax
test esi, esi
je 0x4e94f1
cmp esi, 0x8000000
jae 0x4e94dc
mov eax, esi
shl eax, 5
push eax
call fcn.004f190e
add esp, 4
mov ecx, edi
shl ecx, 5
add ecx, eax
je 0x4e947b
shl esi, 5
add eax, esi
mov dword [esp + 0x10], eax
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [ecx + 0x10], xmm1
movups xmmword [ecx], xmm0
mov dword [ecx + 0x18], ebx
lea esi, [ecx + 0x20]
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 8]
mov edx, ecx
mov ecx, dword [ebx + 0xc]
sub ecx, eax
sub edx, ecx
mov dword [esp + 0x14], edx
push ecx
push eax
push edx
call fcn.004f53a0
add esp, 0xc
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], esi
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x10], ecx
test eax, eax
je 0x4e8fbc
push eax
call fcn.004f193e
add esp, 4
jmp 0x4e8fbc
lea edx, [esi + 1]
cmp edx, 0x8000000
jae 0x4e94e1
sub ecx, eax
mov eax, ecx
sar eax, 4
cmp eax, edx
cmovbe eax, edx
cmp ecx, 0x7fffffe0
mov edi, 0x7ffffff
cmovb edi, eax
test edi, edi
je 0x4e94f8
cmp edi, 0x8000000
jae 0x4e94dc
mov eax, edi
shl eax, 5
push eax
call fcn.004f190e
add esp, 4
mov ecx, esi
shl ecx, 5
add ecx, eax
je 0x4e947b
shl edi, 5
add eax, edi
mov dword [esp + 0x10], eax
movaps xmm0, xmmword [esp + 0xc0]
movsd xmm1, qword [esp + 0xd0]
movsd qword [ecx + 0x10], xmm1
movups xmmword [ecx], xmm0
mov dword [ecx + 0x18], ebx
lea edi, [ecx + 0x20]
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 8]
mov edx, ecx
mov ecx, dword [ebx + 0xc]
sub ecx, eax
sub edx, ecx
mov dword [esp + 0x14], edx
push ecx
push eax
push edx
call fcn.004f53a0
add esp, 0xc
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edi
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x10], ecx
test eax, eax
je 0x4e8de3
push eax
call fcn.004f193e
add esp, 4
jmp 0x4e8de3
mov ecx, dword [esp + 0x20]
push ebx
call fcn.0048a650
mov edi, eax
jmp 0x4e8ba4
mov ebx, edi
jmp 0x4e9196
push str....._third_partylibc_srcinclude_vector:1539:_assertion__empty___failed:_vector::pop_back_called_on_an_empty_vector_n
jmp 0x4e9487
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
jmp 0x4e9487
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
jmp 0x4e9487
push str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x59a9a3
call fcn.00523170
mov ecx, dword [esp + 0x20]
call fcn.0053c860
mov edi, dword [esp + 0xc]
dec dword [edi + 0x14]
jmp 0x4e88fd
mov edi, dword [esp + 0xc]
inc dword [edi + 0x14]
jmp 0x4e890f
push eax
call fcn.004bf820
add esp, 4
jmp 0x4e888d
push eax
call fcn.004bf820
add esp, 4
jmp 0x4e88ae
push eax
call fcn.004bf820
add esp, 4
jmp 0x4e8da4
call fcn.005221d0
mov ecx, dword [esp + 0x20]
call fcn.00522240
xor eax, eax
jmp 0x4e9249
xor eax, eax
jmp 0x4e930e
xor eax, eax
jmp 0x4e93d7