Function at 0x43c3d0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x20
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, ecx
add eax, eax
push ebx
push ebp
push esi
mov ebx, dword [edx + eax*8 - 0x14]
mov ebp, dword [edx + eax*8 - 0x18]
mov dword [esp + 0x34], ebx
mov ebx, dword [edx + eax*8 - 8]
mov eax, dword [edx + eax*8 - 4]
mov dword [esp + 0x18], eax
lea eax, [ecx - 2]
add eax, eax
mov dword [esp + 0x38], ebp
push edi
mov dword [esp + 0x18], ebx
mov esi, dword [edx + eax*8 + 4]
mov edi, dword [edx + eax*8]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], esi
cmp eax, dword [esp + 0x1c]
jg 0x43c423
jl 0x43c425
cmp ebp, ebx
jb 0x43c425
mov ebp, ebx
mov ebx, dword [esp + 0x40]
cmp dword [ebx], ebp
jae 0x43c455
lea eax, [ebp*4]
push eax
push dword [ebx + 4]
mov dword [esp + 0x48], eax
call fcn.0049ae6f
add esp, 8
test eax, eax
je 0x43c6fd
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x38]
mov dword [ebx], ebp
mov edx, dword [ebx + 4]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
cmp eax, ebx
jg 0x43c5ab
jl 0x43c478
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x3c], eax
jae 0x43c5af
mov eax, dword [esp + 0x3c]
shl eax, 2
push eax
lea eax, [edi*4]
add eax, dword [esp + 0x38]
push eax
push edx
call fcn.0048c9c0
mov eax, dword [esp + 0x48]
add esp, 0xc
mov ebx, edi
mov edx, esi
add ebx, eax
mov ecx, edi
mov ebp, esi
xorps xmm0, xmm0
adc edx, dword [esp + 0x38]
add ecx, dword [esp + 0x18]
movlpd qword [esp + 0x28], xmm0
adc ebp, dword [esp + 0x1c]
add ecx, eax
mov dword [esp + 0x14], edx
adc ebp, dword [esp + 0x38]
mov dword [esp + 0x1c], ebp
cmp esi, ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
jg 0x43c6f5
jl 0x43c4e0
cmp edi, ecx
jae 0x43c6f5
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x40], ecx
nop dword [eax]
cmp ecx, dword [esp + 0x38]
jg 0x43c53e
jl 0x43c4fc
cmp esi, eax
jae 0x43c53e
cmp edx, dword [esp + 0x1c]
jg 0x43c598
jl 0x43c512
cmp ebx, dword [esp + 0x18]
jae 0x43c598
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + ebx*4]
push eax
mov ecx, dword [ecx + esi*4]
push ecx
mov dword [esp + 0x30], ecx
call fcn.0043db70
add esp, 8
cmp eax, 0xfffffffe
je 0x43c580
neg eax
test eax, eax
jle 0x43c580
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov eax, dword [ebp + ebx*4]
add ebx, 1
adc edx, 0
mov dword [esp + 0x14], edx
mov dword [ebp + edi*4], eax
add edi, 1
mov eax, dword [esp + 0x10]
adc eax, 0
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
jl 0x43c4f0
jg 0x43c6f5
cmp edi, dword [esp + 0x18]
jb 0x43c4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ecx, dword [esp + 0x40]
add esi, 1
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
adc ecx, 0
mov dword [esp + 0x40], ecx
jmp 0x43c54c
mov eax, dword [esp + 0x20]
mov eax, dword [eax + esi*4]
add esi, 1
adc ecx, 0
mov dword [esp + 0x40], ecx
jmp 0x43c54c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
shl eax, 2
push eax
mov eax, dword [esp + 0x40]
add eax, edi
lea eax, [ecx + eax*4]
push eax
push edx
call fcn.0048c9c0
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov ebp, ecx
mov eax, ebx
sub ebp, 1
mov edx, esi
mov ebx, edi
mov esi, edi
sbb eax, 0
add ebx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
adc edx, dword [esp + 0x38]
sub ebx, 1
sbb edx, 0
add esi, ecx
mov ecx, dword [esp + 0x10]
adc ecx, dword [esp + 0x1c]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
adc ecx, dword [esp + 0x38]
sub esi, 1
sbb ecx, 0
mov dword [esp + 0x3c], ecx
cmp ecx, dword [esp + 0x10]
jl 0x43c6f5
jg 0x43c624
cmp esi, edi
jb 0x43c6f5
test eax, eax
jl 0x43c6bb
jg 0x43c636
test ebp, ebp
jb 0x43c6bb
cmp edx, dword [esp + 0x10]
jl 0x43c69d
jg 0x43c642
cmp ebx, edi
jb 0x43c69d
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + ebp*4]
mov eax, dword [esp + 0x34]
push ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [eax + ebx*4]
push eax
mov dword [esp + 0x40], eax
call fcn.0043db70
add esp, 8
cmp eax, 0xfffffffe
je 0x43c67e
neg eax
test eax, eax
jle 0x43c67e
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov dword [eax + esi*4], ecx
jmp 0x43c6c5
mov eax, dword [esp + 0x34]
add ebp, 0xffffffff
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov dword [eax + esi*4], ecx
mov eax, dword [esp + 0x40]
adc eax, 0xffffffff
mov dword [esp + 0x40], eax
jmp 0x43c6d3
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + ebp*4]
add ebp, 0xffffffff
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x40]
adc eax, 0xffffffff
mov dword [esp + 0x40], eax
jmp 0x43c6d3
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + ebx*4]
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x40]
add ebx, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x3c]
add esi, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x3c], ecx
cmp ecx, dword [esp + 0x10]
jg 0x43c624
jl 0x43c6f5
cmp esi, edi
jae 0x43c624
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push dword [esp + 0x40]
push str.Error_allocating_temporary_storage_for_tim_sort:_need__lu_bytes
push 2
call fcn.004975b1
add esp, 4
push eax
call fcn.0043ab50
add esp, 0xc
push 1
call fcn.0049b110
int3