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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x100
mov eax, dword [0x5f3418]
xor eax, ebp
mov dword [esp + 0xf8], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x7c], ecx
cmp eax, ecx
mov dword [esp + 0x80], eax
je 0x4e844d
mov ecx, dword [eax]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x64], eax
movzx eax, byte [ebp + 0x10]
mov byte [esp + 0x60], al
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 8]
lea esi, [eax + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xb0]
cmp eax, 0xffffffff
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], esi
je 0x4e831e
mov ecx, dword [edi + 0xb0]
mov esi, dword [esi]
mov edx, dword [edx]
sub esi, edx
sar esi, 5
cmp esi, ecx
jbe 0x4e9284
shl ecx, 5
mov ecx, dword [edx + ecx + 0x10]
mov dword [esp + 0x78], ecx
mov ecx, dword [edi + 0xb0]
cmp eax, 0xffffffff
setne byte [esp + 0x5b]
cmp byte [esp + 0x60], 0
je 0x4e8330
mov eax, dword [esp + 0x1c]
lea esi, [eax + 4]
cmp ecx, 0xffffffff
je 0x4e83a2
mov dword [esp + 0x48], esi
mov dword [esp + 0x5c], esp
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0xb0]
mov edi, dword [esp + 0x18]
mov ecx, dword [edi]
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
sub ecx, eax
sar ecx, 5
cmp ecx, ebx
jbe 0x4e8e48
mov edx, ebx
shl edx, 5
mov eax, dword [eax + edx + 0x18]
mov dword [eax + 0xb0], 0xffffffff
mov ecx, dword [edi]
mov eax, dword [esi]
mov dword [esp + 0x38], ecx
mov dword [esp + 4], eax
sub ecx, eax
mov dword [esp + 0x44], ecx
mov eax, ecx
sar eax, 5
mov dword [esp + 0x20], ebx
mov dword [esp + 0x4c], eax
cmp eax, ebx
jbe 0x4e8e48
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x30], 0
jne 0x4e7b52
mov ebx, dword [esp + 0x24]
mov eax, ebx
mov ecx, 1
add eax, ecx
mov ecx, dword [esp + 0xc]
mov esi, 0x80000000
adc ecx, esi
cmp eax, 2
sbb ecx, 0
jb 0x4e9310
mov esi, dword [esp + 8]
add esi, ebx
mov edi, dword [esp + 0x10]
adc edi, dword [esp + 0xc]
seto bl
mov eax, edi
sar eax, 0x1f
lea ecx, [eax - 0x80000000]
test bl, bl
cmove eax, esi
test bl, bl
cmove ecx, edi
mov dword [esp + 0x14], ecx
add edx, dword [esp + 4]
cmp dword [edx + 0x14], 0
jne 0x4e81b2
mov dword [esp + 0x2c], eax
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 8]
mov esi, edi
mov ebx, 1
add esi, ebx
mov ebx, ecx
mov eax, 0x80000000
adc ebx, eax
cmp esi, 2
sbb ebx, 0
mov esi, dword [edx]
mov edx, dword [edx + 4]
jb 0x4e9364
add esi, edi
adc edx, ecx
seto bl
mov edi, edx
sar edi, 0x1f
lea ecx, [edi - 0x80000000]
test bl, bl
cmove edi, esi
test bl, bl
cmove ecx, edx
mov eax, dword [esp + 0x2c]
cmp edi, eax
sbb ecx, dword [esp + 0x14]
jge 0x4e7ebf
mov eax, dword [esp + 0x20]
lea edi, [eax + eax]
inc edi
mov ecx, dword [esp + 0x4c]
cmp edi, ecx
jae 0x4e7edd
lea ebx, [eax + eax]
add ebx, 2
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 4]
mov dword [esp + 0x50], eax
sar eax, 5
cmp ebx, ecx
mov dword [esp + 0x44], eax
jae 0x4e7cde
cmp eax, ebx
jbe 0x4e8e48
cmp eax, edi
jbe 0x4e8e48
mov dword [esp + 0x48], edi
mov eax, edi
shl eax, 5
mov ecx, dword [esp + 4]
lea esi, [ecx + eax]
cmp dword [ecx + eax + 0x14], 0
mov dword [esp + 0x14], ebx
jne 0x4e7ea3
mov eax, dword [esi + 0xc]
mov ebx, dword [esi + 8]
mov ecx, ebx
mov edx, 1
add ecx, edx
mov edx, eax
mov edi, eax
mov eax, 0x80000000
adc edi, eax
cmp ecx, 2
sbb edi, 0
mov ecx, dword [esi]
mov edi, dword [esi + 4]
jb 0x4e94c8
add ecx, ebx
adc edi, edx
seto bl
mov edx, edi
sar edx, 0x1f
lea eax, [edx - 0x80000000]
test bl, bl
cmove edx, ecx
mov dword [esp + 0x34], edx
test bl, bl
cmove eax, edi
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x14]
mov ecx, ebx
shl ecx, 5
add ecx, dword [esp + 4]
cmp dword [ecx + 0x14], 0
jne 0x4e7eb5
mov edx, dword [ecx + 0xc]
mov edi, dword [ecx + 8]
mov esi, edi
mov ebx, 1
add esi, ebx
mov ebx, edx
mov eax, 0x80000000
adc ebx, eax
cmp esi, 2
sbb ebx, 0
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
jb 0x4e950a
add esi, edi
adc ecx, edx
seto bl
mov edi, ecx
sar edi, 0x1f
lea edx, [edi - 0x80000000]
test bl, bl
cmove edi, esi
test bl, bl
cmove edx, ecx
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
cmp edi, eax
sbb edx, dword [esp + 0x2c]
jl 0x4e7cdc
mov ebx, dword [esp + 0x48]
mov edi, ebx
cmp dword [esp + 0x44], edi
jbe 0x4e8e48
mov eax, 0x80000000
dec eax
mov ecx, 1
add ecx, 0xfffffffe
mov ebx, dword [esp + 0x24]
add ebx, ecx
mov esi, dword [esp + 0xc]
adc esi, eax
add ecx, dword [esp + 8]
adc eax, dword [esp + 0x10]
cmp dword [esp + 0x30], 0
jne 0x4e7d3b
cmp ebx, 0xfffffffe
mov edx, esi
sbb edx, 0xffffffff
jb 0x4e7d3b
cmp ecx, 0xfffffffe
sbb eax, 0xffffffff
jb 0x4e7d3b
mov eax, dword [esp + 8]
xor eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0xc]
or ecx, eax
jne 0x4e930d
mov dword [esp + 0x34], esi
mov edx, edi
shl edx, 5
add edx, dword [esp + 4]
cmp dword [edx + 0x14], 0
mov dword [esp + 0x48], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ebx
jne 0x4e7e91
mov esi, dword [edx + 0xc]
mov eax, dword [edx + 8]
mov dword [esp + 0x2c], eax
mov ecx, 1
add eax, ecx
mov dword [esp + 0x14], esi
mov ecx, esi
mov esi, 0x80000000
adc ecx, esi
cmp eax, 2
mov esi, dword [edx]
sbb ecx, 0
mov ecx, dword [edx + 4]
jb 0x4e9494
add esi, dword [esp + 0x2c]
adc ecx, dword [esp + 0x14]
seto al
mov edx, ecx
sar edx, 0x1f
lea edi, [edx - 0x80000000]
test al, al
cmove edx, esi
mov dword [esp + 0x2c], edx
test al, al
cmove edi, ecx
mov dword [esp + 0x14], edi
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x24]
add eax, edi
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
adc esi, edx
seto bl
mov ecx, esi
sar ecx, 0x1f
test bl, bl
cmovne eax, ecx
add ecx, 0x80000000
test bl, bl
cmove ecx, esi
cmp dword [esp + 0x40], 0xfffffffe
sbb dword [esp + 0x34], 0xffffffff
cmovae eax, edi
cmovae ecx, edx
cmp dword [esp + 0x30], 0
cmovne ecx, dword [esp + 0x10]
cmovne eax, dword [esp + 8]
cmp dword [esp + 0x2c], eax
sbb dword [esp + 0x14], ecx
jge 0x4e8544
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x20]
je 0x4e8be4
mov ecx, dword [esp + 0x3c]
jbe 0x4e8e48
mov edi, dword [esp + 0x20]
mov eax, edi
shl eax, 5
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
mov ecx, dword [esp + 4]
movups xmmword [ecx + eax + 0x10], xmm1
movups xmmword [ecx + eax], xmm0
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
sub ecx, eax
sar ecx, 5
cmp ecx, edi
jbe 0x4e8e48
mov ecx, edi
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0xb0], edi
mov eax, dword [esi]
mov ecx, dword [edx]
mov dword [esp + 0x38], eax
mov dword [esp + 4], ecx
sub eax, ecx
sar eax, 5
cmp eax, edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
ja 0x4e7bb9
jmp 0x4e8e48
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x14], eax
jmp 0x4e7db5
mov eax, dword [esi]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], eax
jmp 0x4e7c70
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
jmp 0x4e7ccc
cmp dword [esp + 0x20], 0
jne 0x4e85d6
xor ebx, ebx
cmp dword [esp + 0x4c], ebx
je 0x4e8769
ja 0x4e7efe
jmp 0x4e8e48
mov edx, dword [esp + 0x38]
sub edx, dword [esp + 4]
mov eax, edx
sar eax, 5
cmp eax, dword [esp + 0x20]
je 0x4e8551
jbe 0x4e8e48
mov ebx, dword [esp + 0x20]
mov eax, ebx
shl eax, 5
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov dword [edx + eax + 4], ecx
mov ecx, dword [esp + 8]
mov dword [edx + eax], ecx
mov ecx, dword [esp + 0xc]
mov dword [edx + eax + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [edx + eax + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [edx + eax + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov dword [edx + eax + 0x14], ecx
mov ecx, dword [ebp + 8]
mov dword [edx + eax + 0x18], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
sub ecx, eax
sar ecx, 5
cmp ecx, ebx
jbe 0x4e8e48
mov ecx, ebx
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0xb0], ebx
mov eax, dword [esi]
sub eax, dword [edx]
sar eax, 5
cmp eax, ebx
jbe 0x4e8e48
mov esp, dword [esp + 0x5c]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx]
cmp eax, edi
je 0x4e847a
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x78], 1
sete cl
mov ch, byte [esp + 0x5b]
and ch, cl
cmp ch, 1
jne 0x4e7fbc
mov ecx, dword [esp + 0x1c]
dec dword [ecx + 0x14]
cmp byte [esp + 0x60], 0
je 0x4e7fd1
cmp dword [esp + 0x54], 1
jne 0x4e7fd1
mov ecx, dword [esp + 0x1c]
inc dword [ecx + 0x14]
mov ecx, dword [esp + 0x7c]
cmp dword [esp + 0x80], ecx
je 0x4e81bc
cmp eax, edi
je 0x4e81bc
xor ebx, dword [esp + 0x74]
xor edx, dword [esp + 0x70]
or edx, ebx
jne 0x4e8014
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x68]
xor esi, dword [esp + 0x6c]
or esi, ecx
jne 0x4e8014
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x64]
je 0x4e819a
cmp eax, edi
je 0x4e8495
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov byte [esp + 0xa8], 1
mov dword [esp + 0x18], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc4], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
mov ebx, dword [eax + 8]
cmp ebx, 0x50f600
jne 0x4e8501
mov ebx, dword [esi + 0x1c]
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x4e81d9
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
cmp dword [esp + 8], 1
je 0x4e9289
cmp ecx, esi
sbb eax, edx
jge 0x4e87b9
cmp dword [ebx + 0x22c], 0
jne 0x4e92e9
mov al, 1
mov ecx, dword [esp + 0x18]
or ecx, dword [esp + 0x28]
je 0x4e87b9
mov ecx, dword [esp + 0x18]
mov edi, ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
mov esi, dword [ebx + 0x20]
mov byte [esp + 0xd0], al
mov dword [esp + 0xd1], 0xffffffff
mov dword [esp + 0xd4], 0xffffffff
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 8]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], 0xffffffff
mov dword [esp + 0xf4], 0xffffffff
mov eax, dword [esi]
mov ebx, dword [eax + 0x10]
cmp ebx, 0x50f4e0
jne 0x4e82ef
mov eax, dword [esi + 0x100]
xor eax, edi
mov ecx, dword [esi + 0x104]
mov edx, dword [esp + 0x1c]
xor ecx, edx
or ecx, eax
je 0x4e819a
mov dword [esi + 0x100], edi
mov dword [esi + 0x104], edx
mov eax, dword [esi + 0x124]
cmp eax, 4
je 0x4e93a8
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.00512ee3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x30
mov edi, dword [edx]
mov ecx, dword [edx + 4]
jmp 0x4e7bad
cmp eax, edi
sete cl
mov edx, dword [esp + 0x7c]
cmp dword [esp + 0x80], edx
sete dl
cmp dl, cl
jne 0x4e8014
jmp 0x4e819a
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x18]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
cmp ebx, 0x4e9900
jne 0x4e85a5
mov ecx, dword [fcn.00509260]
cmp ecx, 0x50efc0
jne 0x4e85be
xor eax, eax
lea edi, [esp + 0x90]
mov dword [edi + 4], eax
mov dword [edi], eax
push edi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov ecx, 0x7bd05af6
cmp ecx, eax
mov ecx, 0x863
sbb ecx, edi
jge 0x4e9566
mov esi, dword [0x6c02b0]
mov ecx, dword [0x6c02b4]
mov dword [esp + 0xc], ecx
push ecx
push esi
push edi
push eax
mov dword [esp + 0x70], eax
call fcn.00517110
mov dword [esp + 0x24], edi
mov edi, eax
mov ebx, edx
mov dword [esp + 0x30], esi
mul esi
mov ecx, edi
imul ecx, dword [esp + 0xc]
add edx, ecx
imul ecx, ebx, 0xf4240
mov dword [esp + 0x20], ecx
imul ebx, esi
add ebx, edx
mov ecx, dword [esp + 0x60]
sub ecx, eax
mov esi, dword [esp + 0x24]
sbb esi, ebx
mov edx, 0xf4240
mov eax, edi
mul edx
mov edi, eax
mov ebx, edx
add ebx, dword [esp + 0x20]
mov eax, ecx
mov ecx, 0xf4240
mul ecx
imul ecx, esi, 0xf4240
add edx, ecx
push dword [esp + 0xc]
push dword [esp + 0x34]
push edx
push eax
call fcn.00517110
add eax, edi
adc edx, ebx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
jne 0x4e809e
mov byte [edx], 1
jmp 0x4e809e
mov ecx, ebx
call dword [section..00cfg]
sub esp, 0x2c
movsd xmm0, qword [esp + 0x11c]
movsd qword [esp + 0x24], xmm0
movups xmm0, xmmword [esp + 0xfc]
movups xmm1, xmmword [esp + 0x10c]
jmp 0x4e852b
mov ecx, 0xffffffff
mov dword [esp + 0x78], 0xffffffff
jmp 0x4e7a6a
cmp ecx, 0xffffffff
je 0x4e7f78
mov dword [esp + 0x5c], esp
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xb0]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub edx, ecx
sar edx, 5
cmp edx, edi
jbe 0x4e8e48
mov edx, edi
shl edx, 5
mov ecx, dword [ecx + edx + 0x18]
mov dword [ecx + 0xb0], 0xffffffff
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov esi, ecx
sub esi, edx
sar esi, 5
dec esi
cmp esi, edi
jne 0x4e8995
cmp edx, ecx
je 0x4e9552
add ecx, 0xffffffe0
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
jmp 0x4e7f74
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov eax, ecx
sub eax, edx
sar eax, 5
cmp ecx, edx
jne 0x4e87d2
mov esi, ecx
mov edx, ecx
mov ebx, eax
sub esi, ecx
sar esi, 5
cmp esi, ebx
je 0x4e8b7a
jbe 0x4e8e48
mov eax, ebx
shl eax, 5
mov edx, dword [esp + 0x10]
mov dword [ecx + eax + 4], edx
mov edx, dword [esp + 8]
mov dword [ecx + eax], edx
mov edx, dword [esp + 0xc]
mov dword [ecx + eax + 0xc], edx
mov edx, dword [esp + 0x24]
mov dword [ecx + eax + 8], edx
mov edx, dword [esp + 0x54]
mov dword [ecx + eax + 0x10], edx
mov edx, dword [esp + 0x30]
mov dword [ecx + eax + 0x14], edx
mov edx, dword [ebp + 8]
mov dword [ecx + eax + 0x18], edx
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
sub ecx, eax
sar ecx, 5
cmp ecx, ebx
jbe 0x4e8e48
mov ecx, ebx
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0xb0], ebx
mov eax, dword [esi]
sub eax, dword [edx]
sar eax, 5
cmp eax, ebx
ja 0x4e7f78
jmp 0x4e8e48
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
jmp 0x4e79ec
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x18], 0
xor esi, esi
mov dword [esp + 0x28], 0
jmp 0x4e7fa2
mov byte [esp + 0xa8], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xb0], xmm0
xor eax, eax
mov dword [esp + 0xc4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc0], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
mov ebx, dword [eax + 8]
cmp ebx, 0x50f600
jne 0x4e8501
mov ebx, dword [esi + 0x1c]
mov eax, 1
lea edi, [eax - 2]
mov eax, 0x80000000
dec eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0
xor ecx, ecx
xor edx, edx
xor eax, eax
jmp 0x4e80e6
mov ecx, ebx
call dword [section..00cfg]
sub esp, 0x2c
movsd xmm0, qword [esp + 0xf4]
movsd qword [esp + 0x24], xmm0
movups xmm0, xmmword [esp + 0xd4]
movups xmm1, xmmword [esp + 0xe4]
movups xmmword [esp + 0x14], xmm1
movups xmmword [esp + 4], xmm0
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov ecx, esi
call ebx
jmp 0x4e819a
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x44]
jmp 0x4e7eea
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jae 0x4e8eba
mov eax, dword [esp + 8]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x18], eax
add ecx, 0x20
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
mov ebx, dword [esp + 0x20]
jmp 0x4e7f3d
mov ecx, ebx
call dword [section..00cfg]
lea eax, [esp + 0x88]
mov ecx, esi
push eax
call ebx
jmp 0x4e82c3
call dword [section..00cfg]
lea eax, [esp + 0x88]
push eax
call ecx
add esp, 4
jmp 0x4e82c3
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x24]
add eax, edi
mov ecx, dword [esp + 0x10]
adc ecx, dword [esp + 0xc]
seto bl
mov edx, ecx
sar edx, 0x1f
lea esi, [edx - 0x80000000]
test bl, bl
cmove edx, eax
test bl, bl
cmove esi, ecx
mov dword [esp + 0x14], esi
mov eax, 0x80000000
dec eax
mov ecx, 1
lea esi, [ecx - 2]
mov ecx, edi
add ecx, esi
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0xc]
adc ebx, eax
add esi, dword [esp + 8]
mov ecx, dword [esp + 0x10]
adc eax, ecx
cmp esi, 0xfffffffe
sbb eax, 0xffffffff
setb byte [esp + 4]
mov esi, dword [esp + 8]
xor esi, edi
mov edi, ecx
mov ecx, dword [esp + 0xc]
xor edi, ecx
or edi, esi
mov edi, dword [esp + 0x14]
mov esi, edx
sete ah
cmp dword [esp + 0x4c], 0xfffffffe
sbb ebx, 0xffffffff
cmovae edi, ecx
setb cl
cmovae esi, dword [esp + 0x24]
cmp dword [esp + 0x30], 0
cmovne esi, dword [esp + 8]
cmovne edi, dword [esp + 0x10]
setne dl
or dl, cl
or ah, byte [esp + 4]
or ah, dl
mov byte [esp + 0x2c], ah
mov eax, dword [esp + 0x20]
lea ebx, [eax - 1]
mov dword [esp + 0x34], ebx
shr ebx, 1
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov dword [esp + 0x38], edx
mov eax, edx
sub eax, ecx
mov dword [esp + 0x44], eax
sar eax, 5
mov dword [esp + 0x4c], eax
cmp eax, ebx
jbe 0x4e8e48
mov eax, ebx
shl eax, 5
lea edx, [ecx + eax]
mov dword [esp + 4], ecx
cmp dword [ecx + eax + 0x14], 0
jne 0x4e8762
mov dword [esp + 0x14], edi
mov dword [esp + 0x40], esi
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov esi, ecx
mov edi, 1
add esi, edi
mov dword [esp + 0x3c], eax
mov edi, eax
mov eax, 0x80000000
adc edi, eax
cmp esi, 2
sbb edi, 0
mov esi, dword [edx]
mov edi, dword [edx + 4]
jb 0x4e9590
add esi, ecx
adc edi, dword [esp + 0x3c]
seto dl
mov ecx, edi
sar ecx, 0x1f
lea eax, [ecx - 0x80000000]
test dl, dl
cmove ecx, esi
test dl, dl
cmove eax, edi
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x2c], 0
je 0x4e958d
cmp esi, ecx
mov ecx, edi
sbb ecx, eax
jge 0x4e8964
mov ecx, dword [esp + 0x48]
mov edx, ebx
push dword [esp + 0x20]
call fcn.004e9760
add esp, 4
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x34], 1
jbe 0x4e896d
jmp 0x4e867f
mov ecx, dword [edx]
mov eax, dword [edx + 4]
jmp 0x4e8725
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jae 0x4e8f85
mov eax, dword [esp + 8]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x18], eax
add ecx, 0x20
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
jmp 0x4e7f3d
mov esi, dword [ebx + 0x20]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
jmp 0x4e819a
mov dword [esp + 0x48], esi
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
adc edx, dword [esp + 0xc]
seto bl
mov dword [esp + 4], eax
mov eax, edx
sar eax, 0x1f
lea esi, [eax - 0x80000000]
test bl, bl
cmove eax, ecx
test bl, bl
cmove esi, edx
mov ecx, 0x80000000
dec ecx
mov edx, 1
lea edi, [edx - 2]
mov edx, dword [esp + 0x24]
add edx, edi
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xc]
adc edx, ecx
mov ebx, dword [esp + 8]
add edi, ebx
adc ecx, dword [esp + 0x10]
cmp edi, 0xfffffffe
sbb ecx, 0xffffffff
setb byte [esp + 0x5c]
mov edi, ebx
xor edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
xor ebx, ecx
or ebx, edi
sete bl
cmp dword [esp + 0x20], 0xfffffffe
sbb edx, 0xffffffff
cmovae esi, ecx
setb dl
cmovae eax, dword [esp + 0x24]
cmp dword [esp + 0x30], 0
cmovne eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 4]
cmovne esi, dword [esp + 0x10]
mov dword [esp + 0x14], esi
setne ch
or ch, dl
or bl, byte [esp + 0x5c]
or bl, ch
mov byte [esp + 0x5c], bl
lea ebx, [eax - 1]
mov dword [esp + 0x4c], ebx
shr ebx, 1
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov esi, edx
sub esi, ecx
sar esi, 5
cmp esi, ebx
jbe 0x4e8e48
mov dword [esp + 0x38], edx
mov esi, ebx
shl esi, 5
lea edi, [ecx + esi]
cmp dword [ecx + esi + 0x14], 0
jne 0x4e895b
mov dword [esp + 4], eax
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov dword [esp + 0x2c], eax
mov edx, 1
add eax, edx
mov dword [esp + 0x34], esi
mov edx, esi
mov esi, 0x80000000
adc edx, esi
cmp eax, 2
sbb edx, 0
mov edx, dword [edi]
mov edi, dword [edi + 4]
jb 0x4e9679
add edx, dword [esp + 0x2c]
mov dword [esp + 0x44], edx
adc edi, dword [esp + 0x34]
seto dl
mov eax, edi
sar edi, 0x1f
lea esi, [edi - 0x80000000]
test dl, dl
cmove edi, dword [esp + 0x44]
test dl, dl
cmove esi, eax
mov eax, dword [esp + 4]
cmp byte [esp + 0x5c], 0
je 0x4e95e2
cmp dword [esp + 0x20], edi
mov edx, dword [esp + 0x14]
sbb edx, esi
jge 0x4e8bc6
mov ecx, dword [esp + 0x48]
mov edx, ebx
push eax
call fcn.004e9760
add esp, 4
mov eax, ebx
cmp dword [esp + 0x4c], 1
jbe 0x4e8bd1
jmp 0x4e8887
mov edx, dword [edi]
mov esi, dword [edi + 4]
mov edi, edx
jmp 0x4e891f
mov ebx, dword [esp + 0x20]
jmp 0x4e7ecc
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x38], ecx
mov dword [esp + 4], eax
sub ecx, eax
mov dword [esp + 0x44], ecx
mov eax, ecx
sar eax, 5
mov dword [esp + 0x4c], eax
jmp 0x4e7ecc
cmp ecx, edx
je 0x4e8e48
shl esi, 5
mov ecx, dword [edx + esi + 0x18]
mov dword [ecx + 0xb0], 0xffffffff
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
sub esi, ecx
je 0x4e8e48
sar esi, 5
dec esi
mov edx, esi
shl edx, 5
mov eax, dword [ecx + edx]
mov dword [esp + 4], eax
mov eax, dword [ecx + edx + 4]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + edx + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [ecx + edx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ecx + edx + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + edx + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + edx + 0x1c]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + edx + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x4c], eax
lea edx, [edi + edi]
inc edx
cmp edx, esi
jae 0x4e8c29
lea eax, [edi + edi]
mov dword [esp + 0x48], esi
add eax, 2
cmp eax, esi
jae 0x4e8b44
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov esi, dword [eax]
mov eax, dword [esp + 8]
sub ecx, esi
sar ecx, 5
cmp ecx, eax
jbe 0x4e8e48
mov dword [esp + 0x20], edi
cmp ecx, edx
jbe 0x4e8e48
mov edi, edx
shl edi, 5
lea ecx, [esi + edi]
cmp dword [esi + edi + 0x14], 0
mov dword [esp + 0x38], edx
jne 0x4e8b69
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 8]
mov dword [esp + 0xc], edi
mov edx, 1
add edi, edx
mov edx, eax
mov ebx, eax
mov eax, 0x80000000
adc ebx, eax
cmp edi, 2
sbb ebx, 0
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
jb 0x4e95e5
add ebx, dword [esp + 0xc]
adc edi, edx
seto cl
mov eax, edi
sar eax, 0x1f
lea edx, [eax - 0x80000000]
test cl, cl
cmove eax, ebx
test cl, cl
cmove edx, edi
mov edi, eax
mov eax, dword [esp + 8]
mov dword [esp + 0x14], edx
mov ecx, eax
shl ecx, 5
add esi, ecx
cmp dword [esi + 0x14], 0
jne 0x4e8b73
mov dword [esp + 0xc], edi
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 8]
mov ecx, ebx
mov edi, 1
add ecx, edi
mov edi, edx
mov eax, 0x80000000
adc edi, eax
cmp ecx, 2
sbb edi, 0
mov edi, dword [esi]
mov esi, dword [esi + 4]
jb 0x4e9631
add edi, ebx
adc esi, edx
seto cl
mov ebx, esi
sar ebx, 0x1f
lea edx, [ebx - 0x80000000]
test cl, cl
cmove ebx, edi
test cl, cl
cmove edx, esi
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
cmp ebx, edi
sbb edx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x48]
jl 0x4e8b42
mov eax, dword [esp + 0x38]
mov edx, eax
mov ebx, edx
mov ecx, dword [esp + 0x4c]
push edi
call fcn.004e9760
add esp, 4
lea eax, [ebx + ebx]
lea edx, [ebx + ebx]
inc edx
mov edi, ebx
cmp edx, esi
jb 0x4e8a28
jmp 0x4e8c2b
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
jmp 0x4e8ac8
mov ebx, dword [esi]
mov edx, dword [esi + 4]
jmp 0x4e8b2e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
cmp edx, eax
jae 0x4e9028
mov eax, dword [esp + 8]
mov dword [edx], eax
mov eax, dword [esp + 0x10]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [edx + 8], eax
mov eax, dword [esp + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [edx + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [edx + 0x18], eax
add edx, 0x20
mov eax, dword [esp + 0x18]
mov dword [eax], edx
jmp 0x4e8411
mov edx, dword [esp + 0x38]
mov esi, edx
jmp 0x4e83c1
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, esi
jmp 0x4e83c3
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x20], eax
mov esi, dword [esp + 0x3c]
jbe 0x4e8e48
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jae 0x4e9100
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x10]
movups xmmword [ecx + 0x10], xmm1
movups xmmword [ecx], xmm0
add ecx, 0x20
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
mov edi, dword [esp + 0x20]
jmp 0x4e7e43
mov ebx, edi
mov dword [esp + 8], ebx
test ebx, ebx
je 0x4e927d
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 0x24]
adc ecx, dword [esp + 0x30]
seto bl
mov edx, ecx
sar edx, 0x1f
lea esi, [edx - 0x80000000]
test bl, bl
cmove edx, eax
test bl, bl
cmove esi, ecx
mov eax, 0x80000000
dec eax
mov ecx, 1
lea edi, [ecx - 2]
mov ebx, dword [esp + 0x10]
add ebx, edi
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x30]
adc ecx, eax
add edi, dword [esp + 4]
mov ebx, dword [esp + 0x24]
adc eax, ebx
cmp edi, 0xfffffffe
sbb eax, 0xffffffff
setb byte [esp + 0x14]
mov edi, dword [esp + 4]
xor edi, dword [esp + 0x10]
mov eax, ebx
mov ebx, dword [esp + 0x30]
xor eax, ebx
or eax, edi
sete ah
cmp dword [esp + 0xc], 0xfffffffe
sbb ecx, 0xffffffff
cmovae esi, ebx
setb al
cmovae edx, dword [esp + 0x10]
cmp dword [esp + 0x2c], 0
cmovne edx, dword [esp + 4]
mov dword [esp + 0xc], edx
cmovne esi, dword [esp + 0x24]
mov dword [esp + 0x20], esi
setne cl
or cl, al
or ah, byte [esp + 0x14]
or ah, cl
mov byte [esp + 0x14], ah
mov ebx, dword [esp + 8]
lea edi, [ebx - 1]
mov dword [esp + 0x48], edi
shr edi, 1
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
sub ecx, eax
sar ecx, 5
cmp ecx, edi
jbe 0x4e8e48
mov ecx, edi
shl ecx, 5
lea edx, [eax + ecx]
cmp dword [eax + ecx + 0x14], 0
jne 0x4e8da7
mov dword [esp + 8], ebx
mov dword [esp + 0x38], edi
mov esi, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov edi, ecx
mov eax, 1
add edi, eax
mov ebx, esi
mov eax, esi
mov esi, 0x80000000
adc eax, esi
cmp edi, 2
sbb eax, 0
mov edi, dword [edx]
mov edx, dword [edx + 4]
jb 0x4e96e1
add edi, ecx
adc edx, ebx
seto al
mov ecx, edx
sar ecx, 0x1f
lea esi, [ecx - 0x80000000]
test al, al
cmove ecx, edi
test al, al
cmove esi, edx
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 8]
cmp byte [esp + 0x14], 0
je 0x4e96cd
cmp dword [esp + 0xc], ecx
mov eax, dword [esp + 0x20]
sbb eax, esi
jge 0x4e8dae
mov ecx, dword [esp + 0x4c]
mov edx, edi
push ebx
call fcn.004e9760
add esp, 4
mov ebx, edi
cmp dword [esp + 0x48], 1
ja 0x4e8ce6
jmp 0x4e8db0
mov ecx, dword [edx]
mov esi, dword [edx + 4]
jmp 0x4e8d72
mov edi, ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov edx, ecx
sub edx, eax
sar edx, 5
cmp edx, edi
je 0x4e8e66
jbe 0x4e8e48
mov ecx, edi
shl ecx, 5
mov edx, dword [esp + 0x24]
mov dword [eax + ecx + 4], edx
mov edx, dword [esp + 4]
mov dword [eax + ecx], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx + 0xc], edx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx + 8], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx + 0x14], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx + 0x1c], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx + 0x18], edx
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
sub ecx, eax
sar ecx, 5
cmp ecx, edi
jbe 0x4e8e48
mov ecx, edi
shl ecx, 5
mov eax, dword [eax + ecx + 0x18]
mov dword [eax + 0xb0], edi
mov ecx, dword [esi]
mov edx, dword [edx]
mov eax, ecx
sub eax, edx
sar eax, 5
cmp eax, edi
ja 0x4e838c
push str.vector___index_out_of_bounds
push str.__n___size__
push 0x587
push str....._buildtools_third_partylibc_trunkinclude_vector
push str._s:_d:_assertion__s_failed:__s
call fcn.005495a0
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + 0x10]
cmp ecx, edx
jae 0x4e91a7
mov eax, dword [esp + 4]
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x1c], eax
add ecx, 0x20
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
jmp 0x4e8e11
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x20]
cmp ebx, 0x7ffffff
jae 0x4e9284
lea ecx, [ebx + 1]
sub eax, dword [esp + 4]
mov edx, eax
sar edx, 4
cmp edx, ecx
cmovbe edx, ecx
cmp eax, 0x7fffffe0
mov edi, 0x7ffffff
cmovb edi, edx
cmp edi, 0x8000000
jae 0x4e9308
shl edi, 5
push edi
call fcn.00510d64
add esp, 4
mov ecx, eax
mov eax, ebx
shl eax, 5
lea esi, [ecx + eax]
add esi, 0x20
mov eax, dword [esp + 0x10]
mov dword [esi - 0x1c], eax
mov eax, dword [esp + 8]
mov dword [esi - 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esi - 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [esi - 0x18], eax
mov eax, dword [esp + 0x54]
mov dword [esi - 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esi - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esi - 8], eax
mov dword [esp + 0x14], ecx
add edi, ecx
push dword [esp + 0x50]
push dword [esp + 8]
push ecx
call fcn.00518c30
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], edi
cmp dword [esp + 4], 0
je 0x4e7f3d
push dword [esp + 4]
call fcn.0050fc7c
add esp, 4
jmp 0x4e7f3d
cmp ebx, 0x7ffffff
jae 0x4e9284
lea ecx, [ebx + 1]
sub eax, dword [esp + 4]
mov edx, eax
sar edx, 4
cmp edx, ecx
cmovbe edx, ecx
cmp eax, 0x7fffffe0
mov edi, 0x7ffffff
cmovb edi, edx
cmp edi, 0x8000000
jae 0x4e9308
shl edi, 5
push edi
call fcn.00510d64
add esp, 4
mov ecx, eax
mov eax, ebx
shl eax, 5
lea esi, [ecx + eax]
add esi, 0x20
mov eax, dword [esp + 0x10]
mov dword [esi - 0x1c], eax
mov eax, dword [esp + 8]
mov dword [esi - 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esi - 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [esi - 0x18], eax
mov eax, dword [esp + 0x54]
mov dword [esi - 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esi - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esi - 8], eax
mov dword [esp + 0x20], ecx
add edi, ecx
push dword [esp + 0x44]
push dword [esp + 8]
push ecx
call fcn.00518c30
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
jmp 0x4e8f60
lea edx, [ebx + 1]
cmp edx, 0x8000000
jae 0x4e9284
sub eax, ecx
mov ecx, eax
sar ecx, 4
cmp ecx, edx
cmovbe ecx, edx
cmp eax, 0x7fffffe0
mov esi, 0x7ffffff
cmovb esi, ecx
test esi, esi
je 0x4e9754
cmp esi, 0x8000000
jae 0x4e9308
mov eax, esi
shl eax, 5
push eax
call fcn.00510d64
add esp, 4
mov ecx, ebx
shl ecx, 5
shl esi, 5
add esi, eax
mov dword [esp + 4], esi
lea edx, [eax + ecx]
lea edi, [eax + ecx]
add edi, 0x20
mov eax, dword [esp + 0x10]
mov dword [edi - 0x1c], eax
mov eax, dword [esp + 8]
mov dword [edi - 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [edi - 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [edi - 0x18], eax
mov eax, dword [esp + 0x54]
mov dword [edi - 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [edi - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [edi - 8], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub ecx, eax
sub edx, ecx
mov dword [esp + 8], edx
push ecx
push eax
push edx
call fcn.00518c30
add esp, 0xc
mov eax, dword [esi + 8]
mov ecx, dword [esp + 8]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edi
mov ecx, dword [esp + 4]
mov dword [esi + 0x10], ecx
test eax, eax
je 0x4e8411
push eax
call fcn.0050fc7c
add esp, 4
jmp 0x4e8411
mov ecx, dword [esp + 0x20]
cmp ecx, 0x7ffffff
jae 0x4e9284
lea edx, [ecx + 1]
sub eax, dword [esp + 4]
mov ecx, eax
sar ecx, 4
cmp ecx, edx
ja 0x4e9122
mov ecx, edx
cmp eax, 0x7fffffe0
mov ebx, 0x7ffffff
cmovb ebx, ecx
cmp ebx, 0x8000000
jae 0x4e9308
shl ebx, 5
push ebx
call fcn.00510d64
add esp, 4
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x20]
mov ecx, edi
shl ecx, 5
add ebx, eax
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x10]
lea esi, [eax + ecx]
add esi, 0x20
movups xmmword [esi - 0x20], xmm0
movups xmmword [esi - 0x10], xmm1
push dword [esp + 0x50]
push dword [esp + 8]
push eax
call fcn.00518c30
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
mov eax, dword [esp + 4]
test eax, eax
je 0x4e7e43
push eax
call fcn.0050fc7c
add esp, 4
jmp 0x4e7e43
cmp edi, 0x7ffffff
jae 0x4e9284
mov ebx, edi
lea ecx, [edi + 1]
sub edx, eax
mov eax, edx
sar eax, 4
cmp eax, ecx
cmovbe eax, ecx
cmp edx, 0x7fffffe0
mov esi, 0x7ffffff
cmovb esi, eax
cmp esi, 0x8000000
jae 0x4e9308
shl esi, 5
push esi
call fcn.00510d64
add esp, 4
mov ecx, ebx
mov dword [esp + 0x38], ebx
shl ecx, 5
add esi, eax
lea edx, [eax + ecx]
lea edi, [eax + ecx]
add edi, 0x20
mov eax, dword [esp + 0x24]
mov dword [edi - 0x1c], eax
mov eax, dword [esp + 4]
mov dword [edi - 0x20], eax
mov eax, dword [esp + 0x30]
mov dword [edi - 0x14], eax
mov eax, dword [esp + 0x10]
mov dword [edi - 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [edi - 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [edi - 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [edi - 4], eax
mov eax, dword [esp + 0x44]
mov dword [edi - 8], eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
sub edx, ecx
mov dword [esp + 8], edx
push ecx
push eax
push edx
call fcn.00518c30
add esp, 0xc
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 8]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edi
mov edi, dword [esp + 0x38]
mov dword [ebx + 0x10], esi
test eax, eax
je 0x4e8e11
push eax
call fcn.0050fc7c
add esp, 4
jmp 0x4e8e11
xor edi, edi
jmp 0x4e8db0
call fcn.0052ce30
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x10]
mov esi, 1
add edx, esi
mov esi, dword [esp + 4]
mov edi, 0x80000000
adc esi, edi
cmp edx, 2
sbb esi, 0
jae 0x4e945b
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 4]
or esi, edx
je 0x4e975b
mov edx, dword [esp + 4]
sar edx, 0x1f
mov esi, edx
mov edi, 1
add esi, edi
mov edi, 0x80000000
adc edx, edi
add esi, 0xffffffff
adc edx, 0xffffffff
jmp 0x4e948b
mov eax, 1
lea edi, [eax - 2]
mov eax, 0x80000000
dec eax
mov dword [esp + 0x1c], eax
mov dword [esp + 8], 0
jmp 0x4e84e6
call fcn.00549f00
int3
mov eax, dword [esp + 8]
mov ecx, 1
add eax, ecx
mov ecx, dword [esp + 0x10]
mov esi, 0x80000000
adc ecx, esi
xor esi, esi
xor edi, edi
inc edi
cmp edi, eax
sbb esi, ecx
mov eax, ebx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], ecx
jb 0x4e7b52
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x24]
xor eax, esi
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
xor ecx, edi
or ecx, eax
mov eax, esi
mov dword [esp + 0x14], edi
je 0x4e7b52
int3
mov eax, esi
mov ebx, 1
add eax, ebx
mov dword [esp + 0x34], eax
mov ebx, edx
mov eax, 0x80000000
adc ebx, eax
mov eax, ebx
mov dword [esp + 0x40], 0
xor ebx, ebx
inc ebx
cmp ebx, dword [esp + 0x34]
sbb dword [esp + 0x40], eax
jb 0x4e7ba9
xor esi, edi
xor edx, ecx
or edx, esi
mov eax, dword [esp + 0x2c]
je 0x4e7bad
int3
mov ebx, 0x80000000
dec ebx
mov ecx, 1
or ecx, 0xfffffffe
mov eax, edi
mov dword [esp + 0x18], ecx
xor eax, ecx
mov ecx, edx
mov edx, ebx
xor ecx, ebx
or ecx, eax
je 0x4e9419
lea ebx, [esp + 0x90]
mov ecx, dword [ebp + 0xc]
push ebx
call fcn.004ea110
mov eax, dword [ebx + 4]
mov edx, 0x1dd76000
add edx, dword [ebx]
adc eax, 0x14
seto cl
mov ebx, eax
sar ebx, 0x1f
test cl, cl
cmovne edx, ebx
add ebx, 0x80000000
test cl, cl
cmove ebx, eax
cmp edx, edi
mov eax, edi
cmovb eax, edx
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
cmovge edx, edi
cmove edx, eax
mov dword [esp + 0x18], edx
cmovge ebx, ecx
mov edx, ebx
mov esi, dword [esi + 0x134]
lea edi, [esp + 0x98]
mov dword [edi - 4], edx
mov eax, dword [esp + 0x18]
mov dword [edi - 8], eax
mov ecx, dword [ebp + 0xc]
push edi
call fcn.004ea110
mov byte [edi + 8], 0
mov eax, dword [esi]
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [section..00cfg]
lea eax, [esp + 0x90]
mov ecx, esi
push eax
call edi
jmp 0x4e819a
mov edi, dword [esp + 0x18]
sub edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
sbb ebx, dword [esp + 4]
seto byte [esp + 0xc]
mov esi, ebx
sar esi, 0x1f
lea edx, [esi - 0x80000000]
cmp byte [esp + 0xc], 0
cmove esi, edi
cmp byte [esp + 0xc], 0
cmove edx, ebx
mov ebx, dword [esp + 0x1c]
jmp 0x4e80b1
mov edx, esi
mov eax, 1
add edx, eax
mov edi, ecx
mov eax, 0x80000000
adc edi, eax
xor ebx, ebx
xor eax, eax
inc eax
cmp eax, edx
sbb ebx, edi
jb 0x4e7db5
xor esi, dword [esp + 0x2c]
xor ecx, dword [esp + 0x14]
or ecx, esi
je 0x4e7db5
int3
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], edx
mov eax, ecx
mov edx, 1
add eax, edx
mov edx, eax
mov ebx, edi
mov eax, 0x80000000
adc ebx, eax
xor eax, eax
xor esi, esi
inc esi
cmp esi, edx
sbb eax, ebx
jb 0x4e7c6c
xor ecx, dword [esp + 0x34]
xor edi, dword [esp + 0x2c]
or edi, ecx
mov ebx, dword [esp + 0x14]
je 0x4e7c70
int3
mov eax, esi
mov ebx, 1
add eax, ebx
mov dword [esp + 0x40], eax
mov ebx, ecx
mov eax, 0x80000000
adc ebx, eax
mov eax, ebx
mov dword [esp + 0x3c], 0
xor ebx, ebx
inc ebx
cmp ebx, dword [esp + 0x40]
sbb dword [esp + 0x3c], eax
jb 0x4e7cc8
xor esi, edi
xor ecx, edx
or ecx, esi
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
je 0x4e7cd0
int3
push str.vector::pop_back_called_on_an_empty_vector
push str._empty__
push 0x623
jmp 0x4e8e57
mov ecx, 0xf4240
mul ecx
imul ecx, edi, 0xf4240
add ecx, edx
push dword [0x6c02b4]
push dword [0x6c02b0]
push ecx
push eax
call fcn.00517110
jmp 0x4e82b5
int3
mov eax, esi
mov edx, 1
add eax, edx
mov dword [esp + 0x50], eax
mov edx, edi
mov eax, 0x80000000
adc edx, eax
mov eax, edx
mov dword [esp + 0x84], 0
xor edx, edx
inc edx
cmp edx, dword [esp + 0x50]
sbb dword [esp + 0x84], eax
jb 0x4e96d0
xor esi, ecx
mov eax, dword [esp + 0x3c]
xor edi, eax
or edi, esi
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
je 0x4e8725
int3
int3
mov dword [esp + 0x14], edx
mov edx, ebx
mov ecx, 1
add edx, ecx
mov ecx, edi
mov eax, 0x80000000
adc ecx, eax
mov eax, ecx
mov dword [esp + 0x3c], 0
xor ecx, ecx
inc ecx
cmp ecx, edx
sbb dword [esp + 0x3c], eax
jb 0x4e9725
mov eax, dword [esp + 0xc]
xor ebx, eax
mov edx, dword [esp + 0x14]
xor edi, edx
or edi, ebx
mov edi, eax
mov eax, dword [esp + 8]
je 0x4e8ac8
int3
mov eax, edi
mov ecx, 1
add eax, ecx
mov dword [esp + 0x3c], eax
mov ecx, esi
mov eax, 0x80000000
adc ecx, eax
mov eax, ecx
mov dword [esp + 0x50], 0
xor ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x3c]
sbb dword [esp + 0x50], eax
jb 0x4e8b26
xor edi, ebx
xor esi, edx
or esi, edi
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
je 0x4e8b2e
int3
mov eax, dword [esp + 0x34]
mov dword [esp + 0x44], edx
mov esi, 1
add edx, esi
mov dword [esp + 0x3c], edi
mov esi, edi
mov edi, 0x80000000
adc esi, edi
mov dword [esp + 0x40], 0
xor edi, edi
inc edi
cmp edi, edx
sbb dword [esp + 0x40], esi
jb 0x4e9736
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
xor edx, edi
mov esi, eax
mov eax, dword [esp + 0x3c]
xor eax, esi
or eax, edx
mov eax, dword [esp + 4]
je 0x4e891f
int3
int3
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
jmp 0x4e8725
mov dword [esp + 0x3c], ebx
mov ebx, edi
mov eax, 1
add ebx, eax
mov esi, edx
mov eax, 0x80000000
adc esi, eax
mov dword [esp + 0x50], 0
xor eax, eax
inc eax
cmp eax, ebx
sbb dword [esp + 0x50], esi
jb 0x4e9747
xor edi, ecx
mov esi, dword [esp + 0x3c]
xor edx, esi
or edx, edi
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 8]
je 0x4e8d72
int3
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
jmp 0x4e8ac8
mov edx, dword [esp + 4]
mov esi, eax
mov eax, edx
mov edi, dword [esp + 0x2c]
jmp 0x4e891f
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
jmp 0x4e8d6e
xor eax, eax
jmp 0x4e9072
int3