Function at 0x421f20
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1440
call fcn.004400e0
mov ecx, dword [ebp + 0xc]
push ebx
push esi
push edi
xor edi, edi
cmp ecx, edi
jle 0x421f60
lea esi, [ebp - 0xc2c]
sub esi, edx
mov ebx, ecx
mov eax, dword [edx]
cmp eax, edi
jne 0x421f4e
mov eax, 1
shl eax, 8
mov dword [esi + edx], eax
add edx, 4
sub ebx, 1
jne 0x421f43
lea esp, [esp]
xor edx, edx
cmp ecx, 1
mov ebx, ecx
mov dword [ebp - 0x420], edi
mov dword [ebp - 0xc30], edi
mov dword [ebp - 0x1440], 0xfffffffe
mov dword [ebp - 4], 1
jl 0x4221f2
or eax, 0xffffffff
lea edi, [ebp - 0x143c]
rep stosd dword es:[edi], eax
jmp 0x421fa0
mov eax, dword [ebp - 4]
add edx, 1
mov dword [ebp + edx*4 - 0x420], eax
mov dword [ebp - 8], eax
mov edi, dword [ebp - 8]
mov edi, dword [ebp + edi*4 - 0xc30]
mov eax, edx
sar eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
cmp edi, dword [ebp + esi*4 - 0xc30]
mov ecx, edx
jge 0x421ffb
mov edi, dword [ebp - 8]
mov edi, dword [ebp + edi*4 - 0xc30]
lea ebx, [ebx]
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
sar eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x421fe0
mov eax, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x420], eax
mov eax, dword [ebp - 4]
add eax, 1
cmp eax, dword [ebp + 0xc]
mov dword [ebp - 4], eax
jle 0x421fa0
cmp edx, 0x104
jge 0x42227c
cmp edx, 1
jle 0x4221ef
jmp 0x422030
mov esi, dword [ebp + edx*4 - 0x420]
mov ecx, dword [ebp - 0x41c]
sub edx, 1
mov eax, 2
cmp eax, edx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x41c], esi
mov ecx, 1
mov dword [ebp - 8], esi
jg 0x4220a9
mov esi, dword [ebp + esi*4 - 0xc30]
mov dword [ebp - 4], esi
jge 0x422087
mov esi, dword [ebp + eax*4 - 0x41c]
mov edi, dword [ebp + eax*4 - 0x420]
mov esi, dword [ebp + esi*4 - 0xc30]
cmp esi, dword [ebp + edi*4 - 0xc30]
jge 0x422087
add eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x4220a9
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
add eax, eax
cmp eax, edx
jle 0x422064
mov eax, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x420], eax
mov esi, dword [ebp + edx*4 - 0x420]
mov edi, dword [ebp - 0x41c]
sub edx, 1
mov eax, 2
cmp eax, edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x41c], esi
mov ecx, 1
mov dword [ebp - 0x10], esi
jg 0x42212f
mov esi, dword [ebp + esi*4 - 0xc30]
mov dword [ebp - 4], esi
jge 0x42210a
mov esi, dword [ebp + eax*4 - 0x41c]
mov edi, dword [ebp + eax*4 - 0x420]
mov esi, dword [ebp + esi*4 - 0xc30]
cmp esi, dword [ebp + edi*4 - 0xc30]
jge 0x42210a
add eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x42212c
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
add eax, eax
cmp eax, edx
jle 0x4220e7
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
add ebx, 1
mov dword [ebp + ecx*4 - 0x420], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + edi*4 - 0xc30]
mov dword [ebp + edi*4 - 0x1440], ebx
mov dword [ebp + eax*4 - 0x1440], ebx
mov eax, dword [ebp + eax*4 - 0xc30]
mov esi, ecx
mov edi, eax
and esi, 0xff
and edi, 0xff
cmp edi, esi
mov dword [ebp - 4], ebx
jle 0x422174
mov esi, edi
and eax, 0xffffff00
and ecx, 0xffffff00
add eax, ecx
add esi, 1
or eax, esi
add edx, 1
mov dword [ebp + ebx*4 - 0xc30], eax
mov eax, edx
sar eax, 1
mov dword [ebp + edx*4 - 0x420], ebx
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, ebx
mov dword [ebp + ebx*4 - 0x1440], 0xffffffff
mov ebx, dword [ebp + edi*4 - 0xc30]
cmp ebx, dword [ebp + esi*4 - 0xc30]
mov ecx, edx
jge 0x4221dc
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
sar eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
cmp ebx, dword [ebp + esi*4 - 0xc30]
jl 0x4221c1
cmp edx, 1
mov ebx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x420], edi
jg 0x422030
mov ecx, dword [ebp + 0xc]
cmp ebx, 0x204
jge 0x422286
mov esi, 1
xor bl, bl
cmp ecx, esi
jl 0x422290
lea edi, [ebp - 0x143c]
xor edx, edx
cmp dword [edi], edx
jl 0x422231
mov eax, edi
jmp 0x422220
mov eax, dword [eax]
lea eax, [ebp + eax*4 - 0x1440]
add edx, 1
cmp dword [eax], 0
jge 0x422220
cmp edx, 0x11
mov eax, dword [ebp + 8]
mov byte [eax + esi - 1], dl
jle 0x42223f
mov bl, 1
add esi, 1
add edi, 4
cmp esi, ecx
jle 0x422213
test bl, bl
je 0x422290
mov esi, 1
mov eax, dword [ebp + esi*4 - 0xc30]
sar eax, 8
cdq
sub eax, edx
sar eax, 1
add eax, 1
shl eax, 8
mov dword [ebp + esi*4 - 0xc30], eax
add esi, 1
cmp esi, ecx
jle 0x422252
xor edi, edi
jmp 0x421f60
mov esi, 0x7d1
jmp 0x41a290
mov esi, 0x7d2
jmp 0x41a290
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret