Function at 0x4011f0
Capabilities:
Terminate process

Disassembly:
push ecx
push ebx
push esi
mov esi, dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x14]
push esi
push edi
push 0x437040
xor ebx, ebx
push 0x437840
mov dword [esp + 0x1c], ebx
call fcn.0041cda0
mov eax, dword [esi]
push 0x4370d8
mov dword [0x450440], eax
call fcn.0041ead0
push 0x44ccd8
call fcn.00432d82
push eax
call fcn.0043044f
add esp, 0x1c
test eax, eax
je 0x401245
or dword [0x459234], 0x100
mov edx, dword [esi]
mov eax, dword [edi]
lea ecx, [esp + 0xc]
push ecx
push 0x4371a0
push str.aBcCdeifF_lqrmnosSTuUvVw:b:D:k:O:R:A::t:
push edx
push eax
call fcn.0041ed30
add esp, 0x14
cmp eax, 0xffffffff
je 0x40158e
nop
lea esp, [esp]
add eax, 0xffffffc1
cmp eax, 0xc2
ja case.0x401286.96
xor ecx, ecx
mov cl, byte [eax + 0x4016e8]
jmp dword [ecx*4 + 0x401660]
or dword [0x459234], 0x400
jmp case.0x401286.96
mov eax, dword [0x458954]
cmp eax, ebx
je 0x4012cf
push ebx
push ebx
push eax
call fcn.00423ce0
mov dword [0x4591a0], eax
mov eax, dword [0x459234]
add esp, 0xc
or eax, 0x80000
mov dword [0x4591a4], edx
mov dword [0x459234], eax
jmp case.0x401286.96
mov eax, dword [0x459234]
or eax, 0x80000
mov dword [0x4591a0], ebx
mov dword [0x4591a4], ebx
mov dword [0x459234], eax
jmp case.0x401286.96
mov edx, dword [0x458954]
push 0xa
push ebx
push edx
call fcn.004277b5
add esp, 0xc
mov dword [0x4591b8], eax
mov dword [0x4591bc], ebx
jmp case.0x401286.96
or dword [0x459234], 0x10000000
jmp case.0x401286.96
or dword [0x459234], 0x100000
jmp case.0x401286.96
or dword [0x459234], 0x500000
jmp case.0x401286.96
mov eax, dword [0x458954]
push 0xa
push ebx
push eax
call fcn.00423a30
add esp, 0xc
mov dword [0x4591a8], eax
mov dword [0x4591ac], edx
jmp case.0x401286.96
test byte [0x459234], 2
mov eax, dword [0x459234]
je 0x401372
or eax, 0x800
and eax, 0xfffffeff
or eax, 2
mov dword [0x459234], eax
jmp case.0x401286.96
or dword [0x459234], 0x4000
jmp case.0x401286.96
or dword [0x459234], 4
jmp case.0x401286.96
or dword [0x459234], 8
jmp case.0x401286.96
or dword [0x459234], 0x10
jmp case.0x401286.96
mov eax, dword [0x459234]
or eax, 0x200080
mov dword [0x459448], 0x202
mov dword [0x459234], eax
jmp case.0x401286.96
or dword [0x459234], 0x10000
jmp case.0x401286.96
mov ecx, dword [0x458954]
push 0xa
push ebx
push ecx
call fcn.00423a30
add esp, 0xc
mov dword [0x4591b0], eax
mov dword [0x4591b4], edx
jmp case.0x401286.96
mov byte [0x45923b], bl
jmp case.0x401286.96
or dword [0x459234], 0x40000
jmp case.0x401286.96
mov edx, dword [0x459234]
and edx, 0xffffffdf
or edx, 0x8000
mov dword [0x459234], edx
jmp case.0x401286.96
mov eax, dword [0x459234]
and eax, 0xffff7fff
or eax, 0x20
mov dword [0x459234], eax
mov byte [0x45923e], bl
mov byte [0x458919], 1
jmp case.0x401286.96
mov ecx, dword [0x459234]
and ecx, 0xffffffdf
or ecx, 0x8000
mov dword [0x459234], ecx
mov byte [0x45923e], 1
jmp case.0x401286.96
inc dword [0x459220]
jmp case.0x401286.96
or dword [0x459234], 0x8200
jmp case.0x401286.96
mov ecx, dword [0x459234]
mov eax, dword [0x459224]
or ecx, 1
inc eax
mov dword [0x459234], ecx
mov dword [0x459224], eax
jmp case.0x401286.96
mov edx, dword [0x458954]
push 0x4370d8
push edx
call fcn.0041eb00
add esp, 8
test al, al
je case.0x401286.96
call fcn.004017d0
push 1
call fcn.00427055
or dword [0x459234], 0x1000
mov eax, dword [0x458954]
push eax
call fcn.0042758e
add esp, 4
dec eax
cmp eax, 0x20
mov dword [0x459228], eax
jb case.0x401286.96
push 0x20
push str.The_value_of_the_sort_key_is_bigger_than_max_key:__d._n
push 0x44ccf8
call fcn.004274c7
add esp, 0xc
push 1
call fcn.00427055
or dword [0x459234], 0x2000
jmp case.0x401286.96
mov ecx, dword [0x458954]
mov dword [0x459444], ecx
jmp case.0x401286.96
or dword [0x459234], 0x20000
jmp case.0x401286.96
or dword [0x459234], 0x200000
jmp case.0x401286.96
mov edx, dword [0x458954]
mov dword [0x458938], edx
jmp case.0x401286.96
mov eax, dword [0x458954]
mov dword [0x450438], eax
mov edx, dword [esi]
mov eax, dword [edi]
lea ecx, [esp + 0xc]
push ecx
push 0x4371a0
push str.aBcCdeifF_lqrmnosSTuUvVw:b:D:k:O:R:A::t:
push edx
push eax
call fcn.0041ed30
add esp, 0x14
cmp eax, 0xffffffff
jne 0x401270
mov ecx, dword [0x43c998]
sub dword [edi], ecx
mov edx, dword [0x43c998]
mov ecx, dword [esi]
lea eax, [edx*4]
add ecx, eax
mov dword [esi], ecx
cmp dword [edi], ebx
jne 0x4015cf
call fcn.004017d0
push 0xffffffffffffffff
call fcn.00427055
call fcn.004017b0
push ebx
call fcn.00427055
call fcn.004017d0
push ebx
call fcn.00427055
mov eax, dword [0x459234]
test ah, 2
je 0x401606
cmp dword [0x459220], ebx
jne 0x4015e6
test ah, 0x10
je 0x401606
mov ecx, dword [0x45047c]
push ecx
push str._s:___unpack_cant_be_used_with___quick_or___sort_records_n
push 0x44ccf8
call fcn.004274c7
add esp, 0xc
push 1
call fcn.00427055
test eax, 0x20000
je 0x401634
test eax, 0x8b4a0
je 0x401634
mov edx, dword [0x45047c]
push edx
push str._s:_Cant_use___readonly_when_repairing_or_sorting_n
push 0x44ccf8
call fcn.004274c7
add esp, 0xc
push 1
call fcn.00427055
mov eax, dword [0x450438]
cmp eax, ebx
je 0x401658
push 0x10
push eax
call fcn.0041e1b0
add esp, 8
cmp eax, ebx
mov dword [0x45043c], eax
jne 0x401658
push 1
call fcn.00427055
pop edi
pop esi
pop ebx
pop ecx
ret