Function at 0x401a90
Capabilities:
Terminate process

Disassembly:
push ecx
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esp + 0x10]
push esi
push edi
push 0x42b0c4
push 0x42b930
mov dword [esp + 0x18], 0
call fcn.00411570
mov eax, dword [esi]
push 0x42b0d0
mov dword [0x441d60], eax
call fcn.00414980
push 0x43e398
call fcn.00426d92
push eax
call fcn.00424746
add esp, 0x1c
test eax, eax
je 0x401ae6
or dword [0x441dd8], 0x100
mov edx, dword [esi]
mov eax, dword [edi]
lea ecx, [esp + 8]
push ecx
push 0x42b198
push str.adeif_lqrosSuvVw:b:k:O:R:C:
push edx
push eax
call fcn.00414be0
add esp, 0x14
cmp eax, 0xffffffff
je 0x401d0b
lea esp, [esp]
add eax, 0xffffffc1
cmp eax, 0xc1
ja case.0x401b26.85
xor ecx, ecx
mov cl, byte [eax + 0x401e08]
jmp dword [ecx*4 + 0x401dac]
mov eax, dword [0x441dd8]
or eax, 0x400
jmp 0x401ce0
mov edx, dword [0x44a74c]
mov dword [0x441db8], edx
jmp case.0x401b26.85
mov eax, dword [0x44a74c]
mov dword [0x44a730], eax
jmp case.0x401b26.85
mov ecx, dword [0x44a74c]
push 0xa
push 0
push ecx
call fcn.0041b485
add esp, 0xc
mov dword [0x42b048], eax
jmp case.0x401b26.85
mov eax, dword [0x441dd8]
test al, 2
je 0x401b87
or eax, 0x800
and eax, 0xfffffeff
or eax, 2
jmp 0x401ce0
mov eax, dword [0x441dd8]
or eax, 0x4000
jmp 0x401ce0
mov eax, dword [0x441dd8]
or eax, 4
jmp 0x401ce0
mov eax, dword [0x441dd8]
or eax, 8
jmp 0x401ce0
mov eax, dword [0x441dd8]
or eax, 0x10
jmp 0x401ce0
mov eax, dword [0x441dd8]
mov dword [0x42b0c0], 0x202
or eax, 0x80
jmp 0x401ce0
mov edx, dword [0x44a74c]
push edx
call fcn.0041b25e
add esp, 4
mov dword [0x42b044], eax
jmp case.0x401b26.85
mov dword [0x42b040], 0
jmp case.0x401b26.85
mov eax, dword [0x441dd8]
and eax, 0xffffffdf
or eax, 0x8000
jmp 0x401ce0
mov ecx, dword [0x441dd8]
and ecx, 0xffff7fff
or ecx, 0x20
mov dword [0x441dd8], ecx
mov byte [0x44a2e9], 1
jmp case.0x401b26.85
inc dword [0x441de8]
jmp case.0x401b26.85
mov eax, dword [0x441dd8]
or eax, 0x8200
jmp 0x401ce0
mov ecx, dword [0x441dd8]
mov eax, dword [0x441dec]
or ecx, 1
inc eax
mov dword [0x441dd8], ecx
mov dword [0x441dec], eax
jmp case.0x401b26.85
mov edx, dword [0x44a74c]
push 0x42b0d0
push edx
call fcn.004149b0
add esp, 8
test al, al
je case.0x401b26.85
call fcn.00401ef0
push 1
call fcn.0041ad25
or dword [0x441dd8], 0x1000
mov eax, dword [0x44a74c]
push eax
call fcn.0041b25e
add esp, 4
dec eax
cmp eax, 0x10
mov dword [0x441df0], eax
jb case.0x401b26.85
push 0x10
push str.The_value_of_the_sort_key_is_bigger_than_max_key:__d._n
push 0x43e3b8
call fcn.0041b197
add esp, 0xc
push 1
call fcn.0041ad25
mov eax, dword [0x441dd8]
or eax, 0x2000
mov dword [0x441dd8], eax
mov edx, dword [esi]
mov eax, dword [edi]
lea ecx, [esp + 8]
push ecx
push 0x42b198
push str.adeif_lqrosSuvVw:b:k:O:R:C:
push edx
push eax
call fcn.00414be0
add esp, 0x14
cmp eax, 0xffffffff
jne 0x401b10
mov ecx, dword [0x42e074]
sub dword [edi], ecx
mov edx, dword [0x42e074]
mov ecx, dword [esi]
lea eax, [edx*4]
add ecx, eax
mov dword [esi], ecx
cmp dword [edi], 0
jne 0x401d4f
call fcn.00401ef0
push 0xffffffffffffffff
call fcn.0041ad25
call fcn.00401ed0
push 0
call fcn.0041ad25
call fcn.00401ef0
push 0
call fcn.0041ad25
mov eax, dword [0x441dd8]
test ah, 2
je 0x401d88
mov ecx, dword [0x441de8]
test ecx, ecx
jne 0x401d68
test ah, 0x10
je 0x401d88
mov ecx, dword [0x441e4c]
push ecx
push str._s:___unpack_cant_be_used_with___quick_or___sort_records_n
push 0x43e3b8
call fcn.0041b197
add esp, 0xc
push 1
call fcn.0041ad25
mov eax, dword [0x441db8]
test eax, eax
je 0x401da7
push 0x10
push eax
call fcn.00414180
add esp, 8
test al, al
je 0x401da7
push 1
call fcn.0041ad25
pop edi
pop esi
pop ecx
ret