Function at 0x4b2c10
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1350
call fcn.004bbfd0
mov ecx, dword [ebp + 0xc]
xor edx, edx
push ebx
push esi
push edi
mov eax, dword [ecx + 0x510]
mov ebx, dword [ecx + 0x504]
mov esi, dword [ecx + 0x508]
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x30], ebx
test ebx, ebx
jle 0x4b2c8a
mov eax, 0xffffff38
lea edi, [ebp - 0x244]
mov ecx, ebx
rep stosd dword es:[edi], eax
mov ecx, ebx
lea edi, [ebp - 0x140]
rep stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x44c]
mov ecx, ebx
rep stosd dword es:[edi], eax
test ebx, ebx
jle 0x4b2c8a
mov eax, 1
lea edi, [ebp - 0x348]
mov ecx, ebx
rep stosd dword es:[edi], eax
or eax, 0xffffffff
lea edi, [ebp - 0x550]
mov ecx, ebx
test ebx, ebx
rep stosd dword es:[edi], eax
jne 0x4b2cab
mov edi, dword [ebp - 0xc]
lea eax, [ebp - 0x1350]
push edi
push esi
push eax
push esi
push 0
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call fcn.004b4630
add esp, 0x1c
jmp 0x4b2cfc
lea eax, [ebx - 1]
xor esi, esi
mov dword [ebp - 0x10], eax
test eax, eax
jle 0x4b3123
lea edi, [ebp - 0x1350]
xor ebx, ebx
push dword [ebp - 0xc]
mov eax, dword [ebp + 0xc]
push dword [eax + 0x508]
push edi
push dword [eax + esi*4 + 4]
push dword [eax + esi*4]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call fcn.004b4630
inc esi
add esp, 0x1c
add ebx, eax
add edi, 0x38
cmp esi, dword [ebp - 0x10]
jl 0x4b2cc3
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4b3121
push edi
lea ecx, [ebp - 4]
mov dword [ebp - 8], 0xffffff38
push ecx
lea ecx, [ebp - 8]
mov dword [ebp - 4], 0xffffff38
push ecx
lea eax, [ebx - 1]
push eax
lea eax, [ebp - 0x1350]
push eax
call fcn.004b47a0
mov eax, dword [ebp - 8]
mov esi, 2
mov edi, dword [ebp - 4]
add esp, 0x14
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x240], edi
cmp ebx, esi
jle 0x4b2fe2
mov edx, dword [ebp + 0xc]
lea eax, [edx + 0x210]
mov dword [ebp - 4], eax
nop word [eax + eax]
mov eax, dword [eax]
mov ecx, dword [ebp + eax*4 - 0x44c]
mov eax, dword [ebp + eax*4 - 0x348]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x3c], eax
cmp dword [ebp + ecx*4 - 0x550], eax
je 0x4b2fc2
mov edi, dword [edx + ecx*4 + 0x208]
mov edx, dword [edx + eax*4 + 0x208]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x34], edi
mov dword [ebp + ecx*4 - 0x550], eax
mov edi, dword [edx + ecx*4 + 0x344]
mov dword [ebp - 0x20], edi
mov edi, dword [edx + eax*4 + 0x344]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp + ecx*4 - 0x244]
test edi, edi
jns 0x4b2de4
lea edx, [ebp - 0x140]
mov edi, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0xc]
jmp 0x4b2df8
lea ecx, [ebp + ecx*4 - 0x140]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ecx]
test ecx, ecx
js 0x4b2df8
add edi, ecx
sar edi, 1
lea ecx, [eax*4]
lea eax, [ebp - 0x244]
add eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [eax]
mov dword [ebp - 8], eax
test eax, eax
jns 0x4b2e1c
mov eax, dword [ebp + ecx - 0x140]
jmp 0x4b2e2b
mov ecx, dword [ebp + ecx - 0x140]
test ecx, ecx
js 0x4b2e2e
add eax, ecx
sar eax, 1
mov dword [ebp - 8], eax
cmp edi, 0xffffffff
je 0x4b312c
cmp eax, 0xffffffff
je 0x4b312c
push edx
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push eax
push edi
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.004b4a70
add esp, 0x1c
test eax, eax
je 0x4b2fa9
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0xffffff38
push eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], 0xffffff38
mov dword [ebp - 0x14], 0xffffff38
mov dword [ebp - 0x20], 0xffffff38
mov eax, dword [eax]
sub eax, ecx
push eax
lea eax, [ecx*8]
sub eax, ecx
lea ecx, [ebp - 0x1350]
lea eax, [ecx + eax*8]
push eax
call fcn.004b47a0
push dword [ebp - 0xc]
mov edx, dword [ebp - 4]
lea ecx, [ebp - 0x20]
push ecx
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x14]
mov eax, dword [ebp - 0x28]
push ecx
mov ecx, dword [edx]
sub eax, ecx
push eax
lea edx, [ebp - 0x1350]
lea eax, [ecx*8]
sub eax, ecx
lea eax, [edx + eax*8]
push eax
call fcn.004b47a0
mov edx, eax
add esp, 0x28
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], eax
je 0x4b2ef2
mov ecx, eax
jmp 0x4b2ef8
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
test edx, edx
je 0x4b2f07
mov edx, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
jmp 0x4b2f0a
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x24], 0
je 0x4b2f1a
cmp dword [ebp - 0x28], 0
jne 0x4b2fa9
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], 0
mov dword [eax], edi
mov eax, dword [ebp - 0x244]
cmove eax, edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp + esi*4 - 0x244], ecx
mov ecx, dword [ebp - 0x3c]
cmp ecx, 1
mov dword [ebp + esi*4 - 0x140], edi
mov dword [eax], edx
mov eax, dword [ebp - 0x13c]
cmove eax, edx
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x13c], eax
jge 0x4b2f67
test edi, edi
js 0x4b2fbf
mov eax, dword [ebp - 4]
mov edx, dword [eax]
lea eax, [edx - 1]
test eax, eax
js 0x4b2f88
cmp dword [ebp + eax*4 - 0x348], ecx
jne 0x4b2f88
mov dword [ebp + eax*4 - 0x348], esi
sub eax, 1
jns 0x4b2f73
lea eax, [edx + 1]
cmp eax, ebx
jge 0x4b2fbf
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x44c], ecx
jne 0x4b2fbf
mov dword [ebp + eax*4 - 0x44c], esi
inc eax
cmp eax, ebx
jl 0x4b2f92
jmp 0x4b2fbf
mov dword [ebp + esi*4 - 0x140], 0xffffff38
mov dword [ebp + esi*4 - 0x244], 0xffffff38
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
inc esi
add eax, 4
mov dword [ebp - 4], eax
cmp esi, ebx
jl 0x4b2d70
mov edi, dword [ebp - 0x240]
mov esi, dword [ebp - 0x140]
jmp 0x4b2fe5
mov esi, dword [ebp - 8]
lea eax, [ebx*4]
push eax
push dword [ebp + 8]
call fcn.004a6a20
add esp, 8
mov edx, eax
cmp dword [ebp - 0x244], 0
mov dword [ebp - 4], edx
jl 0x4b301a
test esi, esi
jns 0x4b3012
mov esi, dword [ebp - 0x244]
jmp 0x4b301a
add esi, dword [ebp - 0x244]
sar esi, 1
mov dword [edx], esi
test edi, edi
jns 0x4b3028
mov edi, dword [ebp - 0x13c]
jmp 0x4b3039
cmp dword [ebp - 0x13c], 0
jl 0x4b3039
add edi, dword [ebp - 0x13c]
sar edi, 1
mov dword [edx + 4], edi
mov dword [ebp - 0x10], 2
cmp ebx, 2
jle 0x4b3123
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
add ecx, 0x30c
mov dword [ebp - 0x1c], ecx
lea eax, [ebx + 0x34c]
mov dword [ebp - 8], eax
mov eax, dword [ecx + 0xfc]
mov esi, dword [ecx]
mov ecx, dword [ebp - 8]
mov edi, dword [ebx + eax*4 + 0x344]
mov eax, dword [edx + eax*4]
mov ebx, dword [edx + esi*4]
and eax, 0x7fff
mov ecx, dword [ecx]
and ebx, 0x7fff
sub ebx, eax
mov dword [ebp + 0xc], eax
mov eax, ebx
sub ecx, edi
cdq
xor eax, edx
sub eax, edx
imul eax, ecx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + esi*4 + 0x344]
sub ecx, edi
cdq
idiv ecx
mov ecx, dword [ebp + 0xc]
test ebx, ebx
jns 0x4b30b4
sub ecx, eax
jmp 0x4b30b6
add ecx, eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + edx*4 - 0x244]
test eax, eax
jns 0x4b30cd
mov eax, dword [ebp + edx*4 - 0x140]
jmp 0x4b30dc
mov esi, dword [ebp + edx*4 - 0x140]
test esi, esi
js 0x4b30dc
add eax, esi
sar eax, 1
test eax, eax
js 0x4b30ec
cmp ecx, eax
je 0x4b30ec
mov esi, dword [ebp - 4]
mov dword [esi + edx*4], eax
jmp 0x4b30f8
mov esi, dword [ebp - 4]
or ecx, 0x8000
mov dword [esi + edx*4], ecx
mov ecx, dword [ebp - 0x1c]
inc edx
add dword [ebp - 8], 4
add ecx, 4
cmp edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x1c], ecx
jl 0x4b3064
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
push 1
call fcn.004cf3b8
int3