Function at 0x4216c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1440
call fcn.00441610
mov ecx, dword [ebp + 0xc]
push ebx
push esi
push edi
xor edi, edi
cmp ecx, edi
jle 0x421700
lea esi, [ebp - 0xc2c]
sub esi, edx
mov ebx, ecx
mov eax, dword [edx]
cmp eax, edi
jne 0x4216ee
mov eax, 1
shl eax, 8
mov dword [esi + edx], eax
add edx, 4
sub ebx, 1
jne 0x4216e3
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 0x421992
or eax, 0xffffffff
lea edi, [ebp - 0x143c]
rep stosd dword es:[edi], eax
jmp 0x421740
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 0x42179b
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 0x421780
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 0x421740
cmp edx, 0x104
jge 0x421a1c
cmp edx, 1
jle 0x42198f
jmp 0x4217d0
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 0x421849
mov esi, dword [ebp + esi*4 - 0xc30]
mov dword [ebp - 4], esi
jge 0x421827
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 0x421827
add eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x421849
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
add eax, eax
cmp eax, edx
jle 0x421804
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 0x4218cf
mov esi, dword [ebp + esi*4 - 0xc30]
mov dword [ebp - 4], esi
jge 0x4218aa
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 0x4218aa
add eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x4218cc
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
add eax, eax
cmp eax, edx
jle 0x421887
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 0x421914
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 0x42197c
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 0x421961
cmp edx, 1
mov ebx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x420], edi
jg 0x4217d0
mov ecx, dword [ebp + 0xc]
cmp ebx, 0x204
jge 0x421a26
mov esi, 1
xor bl, bl
cmp ecx, esi
jl 0x421a30
lea edi, [ebp - 0x143c]
xor edx, edx
cmp dword [edi], edx
jl 0x4219d1
mov eax, edi
jmp 0x4219c0
mov eax, dword [eax]
lea eax, [ebp + eax*4 - 0x1440]
add edx, 1
cmp dword [eax], 0
jge 0x4219c0
cmp edx, 0x11
mov eax, dword [ebp + 8]
mov byte [eax + esi - 1], dl
jle 0x4219df
mov bl, 1
add esi, 1
add edi, 4
cmp esi, ecx
jle 0x4219b3
test bl, bl
je 0x421a30
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 0x4219f2
xor edi, edi
jmp 0x421700
mov esi, 0x7d1
jmp 0x41b430
mov esi, 0x7d2
jmp 0x41b430
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret