Function at 0x423610
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1440
call fcn.00441a30
mov ecx, dword [ebp + 0xc]
push ebx
push esi
push edi
xor edi, edi
cmp ecx, edi
jle 0x423650
lea esi, [ebp - 0xc2c]
sub esi, edx
mov ebx, ecx
mov eax, dword [edx]
cmp eax, edi
jne 0x42363e
mov eax, 1
shl eax, 8
mov dword [esi + edx], eax
add edx, 4
sub ebx, 1
jne 0x423633
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 0x4238e2
or eax, 0xffffffff
lea edi, [ebp - 0x143c]
rep stosd dword es:[edi], eax
jmp 0x423690
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 0x4236eb
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 0x4236d0
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 0x423690
cmp edx, 0x104
jge 0x42396c
cmp edx, 1
jle 0x4238df
jmp 0x423720
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 0x423799
mov esi, dword [ebp + esi*4 - 0xc30]
mov dword [ebp - 4], esi
jge 0x423777
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 0x423777
add eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x423799
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
add eax, eax
cmp eax, edx
jle 0x423754
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 0x42381f
mov esi, dword [ebp + esi*4 - 0xc30]
mov dword [ebp - 4], esi
jge 0x4237fa
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 0x4237fa
add eax, 1
mov esi, dword [ebp + eax*4 - 0x420]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp + esi*4 - 0xc30]
jl 0x42381c
mov dword [ebp + ecx*4 - 0x420], esi
mov ecx, eax
add eax, eax
cmp eax, edx
jle 0x4237d7
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 0x423864
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 0x4238cc
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 0x4238b1
cmp edx, 1
mov ebx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x420], edi
jg 0x423720
mov ecx, dword [ebp + 0xc]
cmp ebx, 0x204
jge 0x423976
mov esi, 1
xor bl, bl
cmp ecx, esi
jl 0x423980
lea edi, [ebp - 0x143c]
xor edx, edx
cmp dword [edi], edx
jl 0x423921
mov eax, edi
jmp 0x423910
mov eax, dword [eax]
lea eax, [ebp + eax*4 - 0x1440]
add edx, 1
cmp dword [eax], 0
jge 0x423910
cmp edx, 0x11
mov eax, dword [ebp + 8]
mov byte [eax + esi - 1], dl
jle 0x42392f
mov bl, 1
add esi, 1
add edi, 4
cmp esi, ecx
jle 0x423903
test bl, bl
je 0x423980
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 0x423942
xor edi, edi
jmp 0x423650
mov esi, 0x7d1
jmp 0x41b990
mov esi, 0x7d2
jmp 0x41b990
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret