Function at 0x422510
Capabilities:
Terminate process

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, ecx
mov eax, dword [ebp + 4]
push esi
push edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [edi]
mov ebx, 0x49832c
mov dword [esp + 0x14], ebx
cmp byte [eax], 0
je 0x422544
push 0x49e8a8
push eax
call fcn.0048914a
add esp, 8
jmp 0x422546
xor eax, eax
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.00421e10
lea esi, [ebp + 0x34]
push edi
mov ecx, esi
call fcn.004060c0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4225e3
mov ecx, 0x4b1cc8
test ecx, ecx
je 0x422593
mov al, byte [0x4b1cc8]
test al, al
je 0x422593
mov edi, ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4b1cc8
lea ecx, [esp + 0x28]
call fcn.00401800
jmp 0x42259b
mov dword [esp + 0x20], 0x4b1de8
push 0
lea edx, [esp + 0x24]
push edx
push 7
mov ecx, ebp
call fcn.00422a10
mov eax, dword [esp + 0x20]
cmp eax, 0x4b1de8
je 0x4225bf
push eax
call fcn.00488e76
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x14], ebx
je 0x4225d4
push eax
call fcn.0048905c
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc
ret 4
push eax
push 4
lea eax, [esp + 0x18]
push 1
push eax
call fcn.004893de
mov eax, dword [esp + 0x20]
add esp, 0x10
test eax, 0xff000000
je 0x42262b
push esi
mov ecx, ebp
call fcn.00421f70
mov esi, eax
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x14], ebx
je 0x42261f
push eax
call fcn.0048905c
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 4
cmp dword [ebp + 8], 0x80
jge 0x4226c7
mov ebx, dword [ebp + 0xc]
push 0x604
call fcn.00488e10
add esp, 4
test eax, eax
je 0x422669
push fcn.00422470
push 0x80
lea esi, [eax + 4]
push 0xc
push esi
mov dword [eax], 0x80
call fcn.00401000
jmp 0x42266b
xor esi, esi
test esi, esi
mov dword [ebp + 0xc], esi
jne 0x42268b
mov ecx, dword [0x4b1dfc]
push 0x80
push str.___ERROR___::LIST:_Not_enough_memory__i
push ecx
call fcn.00408b40
add esp, 0xc
test ebx, ebx
je 0x4226bc
mov eax, dword [ebp + 8]
xor edi, edi
test eax, eax
jle 0x4226b3
xor esi, esi
mov ecx, dword [ebp + 0xc]
lea edx, [esi + ebx]
push edx
add ecx, esi
call fcn.00422490
mov eax, dword [ebp + 8]
inc edi
add esi, 0xc
cmp edi, eax
jl 0x42269a
push 3
mov ecx, ebx
call fcn.00404220
mov eax, dword [esp + 0x10]
mov dword [ebp + 8], 0x80
cmp eax, dword [ebp + 8]
mov dword [ebp + 4], eax
jle 0x4226d7
push eax
mov ecx, ebp
call fcn.0042ab00
lea eax, [esp + 0x14]
push eax
mov ecx, ebp
call fcn.00422950
mov ecx, dword [esp + 0x18]
push ecx
push 4
lea esi, [ebp + 0x40]
push 1
push esi
call fcn.004893de
mov edx, dword [esi]
push edx
call fcn.00488e10
add esp, 0x14
test eax, eax
mov dword [ebp + 0x3c], eax
jne 0x42276c
mov eax, str.data2
test eax, eax
je 0x422739
mov al, byte [str.data2]
test al, al
je 0x422739
or ecx, 0xffffffff
xor eax, eax
mov edi, str.data2
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.data2
lea ecx, [esp + 0x28]
call fcn.00401800
jmp 0x422741
mov dword [esp + 0x20], 0x4b1de8
push 0
lea ecx, [esp + 0x24]
push ecx
push 2
mov ecx, ebp
call fcn.00422a10
mov eax, dword [esp + 0x20]
cmp eax, 0x4b1de8
je 0x422765
push eax
call fcn.00488e76
add esp, 4
push 1
call fcn.0048abad
mov edx, dword [esp + 0x18]
mov ecx, dword [esi]
push edx
push ecx
push 1
push eax
call fcn.004893de
mov edx, str.main
add esp, 0x10
test edx, edx
je 0x4227aa
mov al, byte [str.main]
test al, al
je 0x4227aa
or ecx, 0xffffffff
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x28]
call fcn.00401800
jmp 0x4227b2
mov dword [esp + 0x20], 0x4b1de8
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x4227fe
mov ecx, dword [ebp + 0x1c]
lea eax, [edi + edi*2]
lea edx, [ecx + eax*8]
mov esi, dword [esp + 0x20]
mov eax, dword [edx - 0x18]
dec edi
sub edx, 0x18
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4227f1
test cl, cl
je 0x4227ed
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4227f1
add eax, 2
add esi, 2
test cl, cl
jne 0x4227cd
xor eax, eax
jmp 0x4227f6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x422822
test edi, edi
jne 0x4227c2
or eax, 0xffffffff
lea ecx, [esp + 0x20]
mov dword [ebp + 0x58], eax
call fcn.004418b0
lea ecx, [esp + 0x14]
call fcn.00422830
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 4
mov eax, edi
jmp 0x422801