Function at 0x47b9b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x136c
call fcn.004c0310
push ebx
mov ebx, dword [edx + 0x504]
xor eax, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 0x508]
mov dword [esp + 0x18], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], ebx
push esi
lea esi, [ebx*4]
mov dword [esp + 0x30], esi
push edi
mov edi, dword [edx + 0x510]
mov dword [esp + 0x18], edi
test ebx, ebx
jle 0x47bb9c
mov ecx, esi
lea edi, [esp + 0x50]
shr ecx, 2
mov eax, 0xffffff38
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [esp + 0x158]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [esp + 0x368]
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [esp + 0x260]
shr ecx, 2
mov eax, 1
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [esp + 0x470]
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
lea eax, [ebx - 1]
xor esi, esi
mov dword [esp + 0x10], eax
test eax, eax
jle 0x47bf81
lea edi, [esp + 0x578]
xor ebx, ebx
nop
push dword [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0xc]
push edi
push dword [edx + esi*4 + 4]
push dword [edx + esi*4]
mov edx, dword [ebp + 8]
call fcn.0047b330
mov ecx, dword [esp + 0x20]
inc esi
mov edx, dword [esp + 0x34]
add esp, 0x14
add ebx, eax
add edi, 0x38
cmp esi, dword [esp + 0x10]
jl 0x47ba70
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47bf81
push edi
lea eax, [esp + 0x10]
mov dword [esp + 0x18], 0xffffff38
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x14], 0xffffff38
lea edx, [ebx - 1]
push eax
lea ecx, [esp + 0x584]
call fcn.0047b4c0
mov eax, dword [esp + 0x20]
mov esi, 2
mov edi, dword [esp + 0x18]
add esp, 0xc
mov dword [esp + 0x50], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], edi
mov dword [esp + 0x54], edi
cmp ebx, esi
jle 0x47bdc3
mov edx, dword [esp + 0x20]
lea eax, [edx + 0x210]
mov dword [esp + 0x14], eax
nop dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + eax*4 + 0x368]
mov eax, dword [esp + eax*4 + 0x260]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], eax
cmp dword [esp + ecx*4 + 0x470], eax
je 0x47bda2
mov edi, dword [edx + ecx*4 + 0x208]
mov edx, dword [edx + eax*4 + 0x208]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], edi
lea edi, [esp + 0x158]
mov dword [esp + ecx*4 + 0x470], eax
mov ebx, dword [edx + ecx*4 + 0x344]
mov edx, dword [edx + eax*4 + 0x344]
mov dword [esp + 0x10], edx
mov edx, dword [esp + ecx*4 + 0x50]
lea ecx, [edi + ecx*4]
mov edi, dword [ecx]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x44], ecx
test edx, edx
js 0x47bbc6
test edi, edi
jns 0x47bbc2
mov edi, edx
jmp 0x47bbc6
jne 0x47ba54
mov edx, dword [ebp + 8]
lea eax, [esp + 0x578]
push edi
push ecx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
push 0
call fcn.0047b330
add esp, 0x14
jmp 0x47baaf
add edi, edx
sar edi, 1
mov ebx, dword [esp + eax*4 + 0x158]
lea ecx, [esp + 0x50]
lea ecx, [ecx + eax*4]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ecx]
test ecx, ecx
js 0x47bbea
test ebx, ebx
jns 0x47bbe6
mov ebx, ecx
jmp 0x47bbea
add ebx, ecx
sar ebx, 1
cmp edi, 0xffffffff
je 0x47bf8c
cmp ebx, 0xffffffff
je 0x47bf8c
push dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push dword [ebp + 8]
mov ecx, dword [esp + 0x30]
push dword [ebp + 0xc]
push ebx
push edi
call fcn.0047b790
add esp, 0x14
test eax, eax
je 0x47bd87
push dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0xffffff38
push eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], 0xffffff38
mov dword [esp + 0x18], 0xffffff38
mov dword [esp + 0x34], 0xffffff38
mov edx, dword [eax]
lea eax, [ecx*8]
sub eax, ecx
sub edx, ecx
lea ecx, [esp + 0x584]
lea ecx, [ecx + eax*8]
call fcn.0047b4c0
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x34]
add esp, 0xc
mov dword [esp + 0x10], eax
push dword [esp + 0x18]
push ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
sub edx, eax
lea ecx, [eax*8]
sub ecx, eax
lea eax, [esp + 0x584]
lea ecx, [eax + ecx*8]
call fcn.0047b4c0
add esp, 0xc
mov edx, eax
cmp dword [esp + 0x10], 0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
je 0x47bcc3
mov ecx, eax
jmp 0x47bccb
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ecx
test edx, edx
je 0x47bcd9
mov dword [esp + 0xc], ecx
jmp 0x47bcdd
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x10], 0
je 0x47bcec
test edx, edx
jne 0x47bd87
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
test edx, edx
mov dword [eax], edi
mov eax, dword [esp + 0x50]
cmove eax, edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + esi*4 + 0x50], ecx
mov ecx, dword [esp + 0x30]
cmp ecx, 1
mov dword [esp + esi*4 + 0x158], edi
mov dword [eax], ebx
mov eax, dword [esp + 0x15c]
cmove eax, ebx
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x15c], eax
jge 0x47bd3b
test edi, edi
js 0x47bd9a
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
lea eax, [ebx - 1]
test eax, eax
js 0x47bd65
nop dword [eax + eax]
cmp dword [esp + eax*4 + 0x260], ecx
jne 0x47bd65
mov dword [esp + eax*4 + 0x260], esi
sub eax, 1
jns 0x47bd50
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x24]
cmp eax, ebx
jge 0x47bd9e
cmp dword [esp + eax*4 + 0x368], edx
jne 0x47bd9e
mov dword [esp + eax*4 + 0x368], esi
inc eax
cmp eax, ebx
jl 0x47bd70
jmp 0x47bd9e
mov dword [esp + esi*4 + 0x158], 0xffffff38
mov dword [esp + esi*4 + 0x50], 0xffffff38
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
inc esi
add eax, 4
mov dword [esp + 0x14], eax
cmp esi, ebx
jl 0x47bb20
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x158]
jmp 0x47bdc7
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
add ecx, 7
and ecx, 0xfffffff8
mov edx, dword [eax + 0x48]
mov dword [esp + 0x10], ecx
lea eax, [edx + ecx]
cmp eax, dword [ebx + 0x4c]
mov ebx, dword [esp + 0x24]
jle 0x47be31
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x44], 0
je 0x47be1c
push 8
call fcn.004849cb
mov edx, dword [esp + 0x20]
add esp, 4
mov ecx, dword [edx + 0x48]
add dword [edx + 0x50], ecx
mov ecx, dword [edx + 0x54]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 0x44]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
mov dword [edx + 0x54], eax
push ecx
mov dword [edx + 0x4c], ecx
call fcn.004849cb
mov ecx, dword [esp + 0x20]
add esp, 4
xor edx, edx
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x44]
mov eax, dword [esp + 0x10]
add ecx, edx
add eax, edx
mov dword [esp + 0xc], ecx
cmp dword [esp + 0x50], 0
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x48], eax
jl 0x47be62
test esi, esi
jns 0x47be5c
mov esi, dword [esp + 0x50]
jmp 0x47be62
add esi, dword [esp + 0x50]
sar esi, 1
mov dword [ecx], esi
test edi, edi
jns 0x47be71
mov edi, dword [esp + 0x15c]
jmp 0x47be84
cmp dword [esp + 0x15c], 0
jl 0x47be84
add edi, dword [esp + 0x15c]
sar edi, 1
mov dword [ecx + 4], edi
mov dword [esp + 0x10], 2
cmp ebx, 2
jle 0x47bf83
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
lea eax, [ebx + 0x34c]
mov dword [esp + 0x14], eax
lea edx, [esi + 0x30c]
mov eax, 0xfffffcfc
mov dword [esp + 0x28], edx
sub eax, esi
mov dword [esp + 0x30], eax
nop
mov eax, dword [edx + 0xfc]
mov esi, dword [edx]
mov edi, dword [ebx + eax*4 + 0x344]
mov eax, dword [ecx + eax*4]
mov ebx, dword [ecx + esi*4]
and eax, 0x7fff
mov ecx, dword [esp + 0x14]
and ebx, 0x7fff
sub ebx, eax
mov dword [esp + 0x34], eax
mov eax, ebx
cdq
mov ecx, dword [ecx]
xor eax, edx
sub eax, edx
sub ecx, edi
imul eax, ecx
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + esi*4 + 0x344]
sub ecx, edi
cdq
idiv ecx
mov edx, dword [esp + 0x34]
lea ecx, [eax + edx]
sub edx, eax
test ebx, ebx
mov ebx, dword [esp + 0x10]
cmovns edx, ecx
mov ecx, dword [esp + ebx*4 + 0x50]
mov eax, dword [esp + ebx*4 + 0x158]
test ecx, ecx
js 0x47bf35
test eax, eax
jns 0x47bf31
mov eax, ecx
jmp 0x47bf39
add eax, ecx
sar eax, 1
test eax, eax
js 0x47bf3d
cmp edx, eax
jne 0x47bf44
mov eax, edx
or eax, 0x8000
mov edx, dword [esp + 0x28]
inc ebx
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0xc]
add ecx, edx
add edx, 4
mov dword [esp + 0x10], ebx
mov dword [ecx + esi], eax
add dword [esp + 0x14], 4
cmp ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
jl 0x47bec0
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 1
call fcn.00483977
int3