Function at 0x423130
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1440
call fcn.00441670
mov ecx, dword [ebp + 0xc]
push ebx
push esi
push edi
xor edi, edi
cmp ecx, edi
jle 0x423170
lea esi, [ebp - 0xc2c]
sub esi, edx
mov ebx, ecx
mov eax, dword [edx]
cmp eax, edi
jne 0x42315e
mov eax, 1
shl eax, 8
mov dword [esi + edx], eax
add edx, 4
sub ebx, 1
jne 0x423153
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 0x423402
or eax, 0xffffffff
lea edi, [ebp - 0x143c]
rep stosd dword es:[edi], eax
jmp 0x4231b0
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 0x42320b
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 0x4231f0
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 0x4231b0
cmp edx, 0x104
jge 0x42348c
cmp edx, 1
jle 0x4233ff
jmp 0x423240
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 0x4232b9
mov esi, dword [ebp + esi*4 - 0xc30]
mov dword [ebp - 4], esi
jge 0x423297
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 0x423297
add eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x4232b9
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
add eax, eax
cmp eax, edx
jle 0x423274
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 0x42333f
mov esi, dword [ebp + esi*4 - 0xc30]
mov dword [ebp - 4], esi
jge 0x42331a
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 0x42331a
add eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x42333c
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
add eax, eax
cmp eax, edx
jle 0x4232f7
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 0x423384
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 0x4233ec
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 0x4233d1
cmp edx, 1
mov ebx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x420], edi
jg 0x423240
mov ecx, dword [ebp + 0xc]
cmp ebx, 0x204
jge 0x423496
mov esi, 1
xor bl, bl
cmp ecx, esi
jl 0x4234a0
lea edi, [ebp - 0x143c]
xor edx, edx
cmp dword [edi], edx
jl 0x423441
mov eax, edi
jmp 0x423430
mov eax, dword [eax]
lea eax, [ebp + eax*4 - 0x1440]
add edx, 1
cmp dword [eax], 0
jge 0x423430
cmp edx, 0x11
mov eax, dword [ebp + 8]
mov byte [eax + esi - 1], dl
jle 0x42344f
mov bl, 1
add esi, 1
add edi, 4
cmp esi, ecx
jle 0x423423
test bl, bl
je 0x4234a0
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 0x423462
xor edi, edi
jmp 0x423170
mov esi, 0x7d1
jmp 0x41b4b0
mov esi, 0x7d2
jmp 0x41b4b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret