Function at 0x49d5e0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x1c
mov ecx, dword [esp + 0x28]
mov eax, ecx
mov edx, dword [esp + 0x24]
add eax, eax
push ebx
push ebp
push esi
mov esi, dword [edx + eax*8 - 0x14]
mov ebx, dword [edx + eax*8 - 0x18]
mov ebp, dword [edx + eax*8 - 4]
push edi
mov edi, dword [edx + eax*8 - 8]
lea eax, [ecx - 2]
add eax, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], esi
mov ecx, dword [edx + eax*8]
mov eax, dword [edx + eax*8 + 4]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
cmp esi, ebp
jg 0x49d635
jl 0x49d629
cmp ebx, edi
jae 0x49d635
mov ecx, dword [esp + 0x1c]
mov esi, ebx
mov dword [esp + 0x28], ecx
jmp 0x49d63b
mov esi, edi
mov dword [esp + 0x28], ebp
mov ecx, dword [esp + 0x3c]
cmp dword [ecx], esi
jae 0x49d675
lea eax, [esi*4]
push eax
push dword [ecx + 4]
mov dword [esp + 0x28], eax
call fcn.00644cd3
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x49d93c
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x38]
mov dword [ecx], esi
jmp 0x49d67c
mov ecx, dword [ecx + 4]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x34]
mov esi, ebx
mov ebx, dword [esp + 0x1c]
add esi, edx
mov ecx, ebp
adc ebx, eax
mov eax, edi
add eax, dword [esp + 0x14]
adc ecx, dword [esp + 0x1c]
add eax, edx
mov dword [esp + 0x3c], eax
adc ecx, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], ebp
jg 0x49d7fb
mov eax, dword [esp + 0x14]
jl 0x49d6bc
cmp eax, edi
jae 0x49d7fb
shl eax, 2
mov ebp, edx
push eax
mov eax, dword [esp + 0x34]
lea eax, [eax + ebp*4]
push eax
push dword [esp + 0x18]
call fcn.00633410
mov ecx, dword [esp + 0x24]
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [esp + 0x24], xmm0
cmp dword [esp + 0x38], ecx
jg 0x49d934
mov eax, dword [esp + 0x3c]
jl 0x49d6fb
cmp ebp, eax
jae 0x49d934
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x20], edx
nop word [eax + eax]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x1c]
cmp edx, ebp
jg 0x49d7a4
jl 0x49d72c
cmp edi, dword [esp + 0x14]
jae 0x49d786
cmp ebx, ecx
jg 0x49d786
jl 0x49d736
cmp esi, eax
jae 0x49d786
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + esi*4]
mov eax, dword [esp + 0x10]
push ecx
mov dword [esp + 0x28], ecx
mov ebp, dword [eax + edi*4]
push ebp
call fcn.0049e140
mov edx, dword [esp + 0x28]
mov ecx, eax
neg ecx
add esp, 8
cmp eax, 0xfffffffe
cmovne eax, ecx
test eax, eax
jg 0x49d777
add edi, 1
adc edx, 0
test eax, eax
mov dword [esp + 0x20], edx
cmovg ebp, dword [esp + 0x24]
jmp 0x49d7b4
add esi, 1
adc ebx, 0
test eax, eax
cmovg ebp, dword [esp + 0x24]
jmp 0x49d7b4
cmp edx, ebp
jg 0x49d7a4
jl 0x49d792
cmp edi, dword [esp + 0x14]
jae 0x49d7a4
mov ebp, dword [esp + 0x10]
mov eax, edi
add edi, 1
adc edx, 0
mov dword [esp + 0x20], edx
jmp 0x49d7b0
mov ebp, dword [esp + 0x30]
mov eax, esi
add esi, 1
adc ebx, 0
mov ebp, dword [ebp + eax*4]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [ecx + eax*4], ebp
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
add ebp, 1
mov ecx, dword [esp + 0x18]
adc eax, 0
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], eax
cmp eax, ecx
mov eax, dword [esp + 0x3c]
jl 0x49d710
jg 0x49d934
cmp ebp, eax
jb 0x49d710
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ecx, dword [esp + 0x30]
lea eax, [edi*4]
push eax
mov eax, dword [esp + 0x18]
add eax, edx
lea eax, [ecx + eax*4]
push eax
push dword [esp + 0x18]
call fcn.00633410
mov eax, dword [esp + 0x48]
add esp, 0xc
mov ecx, dword [esp + 0x18]
sub edi, 1
sbb ebp, 0
sub esi, 1
mov dword [esp + 0x1c], ebp
sbb ebx, 0
sub eax, 1
mov dword [esp + 0x3c], eax
sbb ecx, 0
mov dword [esp + 0x18], ecx
cmp ecx, dword [esp + 0x38]
jl 0x49d934
mov edx, dword [esp + 0x34]
jg 0x49d860
cmp eax, edx
jb 0x49d934
nop dword [eax + eax]
mov dword [esp + 0x28], ecx
test ebp, ebp
jl 0x49d8ef
jg 0x49d872
test edi, edi
jb 0x49d8d0
cmp ebx, dword [esp + 0x38]
jl 0x49d8d0
jg 0x49d87e
cmp esi, edx
jb 0x49d8d0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*4]
mov eax, dword [esp + 0x30]
push ecx
mov dword [esp + 0x28], ecx
mov ebp, dword [eax + esi*4]
push ebp
call fcn.0049e140
mov ecx, eax
add esp, 8
neg ecx
cmp eax, 0xfffffffe
cmovne eax, ecx
test eax, eax
jle 0x49d8bb
mov ecx, dword [esp + 0x18]
add esi, 0xffffffff
adc ebx, 0xffffffff
test eax, eax
cmovle ebp, dword [esp + 0x24]
jmp 0x49d8ff
mov ecx, dword [esp + 0x18]
add edi, 0xffffffff
adc dword [esp + 0x1c], 0xffffffff
test eax, eax
cmovle ebp, dword [esp + 0x24]
jmp 0x49d8ff
test ebp, ebp
jl 0x49d8ef
jg 0x49d8da
test edi, edi
jb 0x49d8ef
mov edx, dword [esp + 0x10]
mov eax, edi
add edi, 0xffffffff
adc ebp, 0xffffffff
mov dword [esp + 0x1c], ebp
mov ebp, dword [edx + eax*4]
jmp 0x49d8ff
mov ebp, dword [esp + 0x30]
mov eax, esi
add esi, 0xffffffff
adc ebx, 0xffffffff
mov ebp, dword [ebp + eax*4]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
mov dword [edx + eax*4], ebp
add eax, 0xffffffff
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
adc ecx, 0xffffffff
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], ecx
cmp ecx, dword [esp + 0x38]
jg 0x49d860
jl 0x49d934
cmp eax, edx
jae 0x49d860
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push dword [esp + 0x20]
push str.Error_allocating_temporary_storage_for_tim_sort:_need__lu_bytes
push 2
call fcn.0063b548
add esp, 4
push eax
call fcn.0045a950
add esp, 0xc
push 1
call fcn.006454ed
int3