Function at 0x4265c0
Capabilities:
Terminate process

Disassembly:
sub esp, 0xd64
push ebx
push ebp
mov ebp, dword [esp + 0xd74]
push esi
xor esi, esi
push edi
mov ebx, dword [ebp + 0x504]
mov eax, dword [ebp + 0x510]
mov edx, dword [ebp + 0x508]
cmp ebx, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
jle 0x426646
mov ecx, ebx
mov eax, 0xffffff38
lea edi, [esp + 0x164]
rep stosd dword es:[edi], eax
mov ecx, ebx
lea edi, [esp + 0x60]
rep stosd dword es:[edi], eax
mov ecx, ebx
xor eax, eax
lea edi, [esp + 0x268]
cmp ebx, esi
rep stosd dword es:[edi], eax
jle 0x426646
mov ecx, ebx
mov eax, 1
lea edi, [esp + 0x36c]
rep stosd dword es:[edi], eax
mov ecx, ebx
or eax, 0xffffffff
lea edi, [esp + 0x470]
cmp ebx, esi
rep stosd dword es:[edi], eax
jne 0x426676
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x574]
push ecx
mov ecx, dword [esp + 0xd84]
push edx
push eax
push edx
mov edx, dword [esp + 0xd94]
push esi
push ecx
push edx
call fcn.00426ce0
add esp, 0x1c
mov dword [esp + 0x14], eax
jmp 0x4266cc
lea eax, [ebx - 1]
xor esi, esi
test eax, eax
jle 0x426cd1
lea edi, [esp + 0x574]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + esi*4 + 4]
push eax
mov eax, dword [ebp + esi*4]
push ecx
mov ecx, dword [esp + 0xd88]
push edi
push edx
mov edx, dword [esp + 0xd94]
push eax
push ecx
push edx
call fcn.00426ce0
mov ecx, dword [esp + 0x30]
add esp, 0x1c
add ecx, eax
inc esi
lea eax, [ebx - 1]
add edi, 0x20
cmp esi, eax
mov dword [esp + 0x14], ecx
jl 0x42668a
mov eax, dword [esp + 0x14]
test eax, eax
je 0x426cd1
mov eax, 0xffffff38
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
lea edx, [ebx - 1]
push eax
push ecx
lea eax, [esp + 0x57c]
push edx
push eax
call fcn.00426ee0
mov eax, dword [esp + 0x58]
add esp, 0x10
mov esi, eax
mov edi, eax
mov eax, dword [esp + 0x50]
cmp ebx, 2
mov dword [esp + 0x164], esi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x20], 2
jle 0x426ba3
add ebp, 0x210
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + eax*4 + 0x268]
mov eax, dword [esp + eax*4 + 0x36c]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x40], eax
lea edx, [esp + ecx*4 + 0x470]
mov ecx, dword [esp + ecx*4 + 0x470]
cmp ecx, eax
je 0x426a64
mov esi, dword [esp + 0xd7c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esi + eax*4 + 0x208]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x40]
mov dword [edx], ecx
mov edx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4 + 0x208]
mov edi, dword [edx + eax*4 + 0x344]
mov edx, dword [edx + ecx*4 + 0x344]
mov dword [esp + 0x58], esi
mov esi, dword [esp + eax*4 + 0x164]
test esi, esi
mov dword [esp + 0x18], edx
jge 0x4267c4
mov esi, dword [esp + eax*4 + 0x60]
jmp 0x4267d0
mov eax, dword [esp + eax*4 + 0x60]
test eax, eax
jl 0x4267d0
add esi, eax
sar esi, 1
mov eax, dword [esp + ecx*4 + 0x164]
mov dword [esp + 0x28], esi
test eax, eax
jge 0x4267e5
mov eax, dword [esp + ecx*4 + 0x60]
jmp 0x4267f1
mov ecx, dword [esp + ecx*4 + 0x60]
test ecx, ecx
jl 0x4267f1
add eax, ecx
sar eax, 1
cmp esi, 0xffffffff
je 0x426b9c
cmp eax, 0xffffffff
je 0x426b9c
sub eax, esi
mov ebp, edx
mov ecx, eax
sub ebp, edi
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x2c], eax
mov eax, ecx
cdq
idiv ebp
test ecx, ecx
mov dword [esp + 0x34], eax
jge 0x426824
dec eax
jmp 0x426825
inc eax
mov edx, dword [esp + 0xd84]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], 0
fld dword [edx + edi*4]
fmul dword [0x4f0fd4]
fadd dword [0x4f0fd0]
call fcn.004bcf48
cmp eax, 0x3ff
jle 0x42685e
mov ecx, 0x3ff
jmp 0x426868
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and ecx, eax
mov eax, dword [esp + 0x34]
sub esi, ecx
imul eax, ebp
cdq
xor eax, edx
mov ebx, esi
sub eax, edx
mov edx, dword [esp + 0x2c]
sub edx, eax
mov eax, dword [esp + 0xd80]
imul ebx, esi
fld dword [eax + edi*4]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xd84]
mov dword [esp + 0x2c], edx
fadd dword [esi + 0x458]
mov dword [esp + 0x44], 1
fcomp dword [ecx + edi*4]
fnstsw ax
and eax, 0x100
jne 0x4268ec
fild dword [esp + 0x28]
fild dword [esp + 0x10]
fld st(1)
fadd dword [esi + 0x448]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x426a9d
fxch st(1)
fsub dword [esi + 0x44c]
fcompp
fnstsw ax
and eax, 0x4100
je 0x426aa1
mov eax, dword [esp + 0x18]
inc edi
cmp edi, eax
mov dword [esp + 0x28], edi
jge 0x4269ec
lea esi, [ecx + edi*4]
mov edi, dword [esp + 0xd80]
sub edi, ecx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x38], eax
cmp eax, ebp
mov eax, dword [esp + 0x14]
jl 0x426931
mov ecx, dword [esp + 0x38]
sub ecx, ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x30]
add eax, ecx
jmp 0x426937
mov edx, dword [esp + 0x34]
add eax, edx
fld dword [esi]
fmul dword [0x4f0fd4]
mov dword [esp + 0x14], eax
fadd dword [0x4f0fd0]
call fcn.004bcf48
cmp eax, 0x3ff
jle 0x42695c
mov ecx, 0x3ff
jmp 0x426966
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
sub eax, ecx
mov edx, eax
imul edx, eax
fld dword [edi + esi]
add ebx, edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
fadd dword [edx + 0x458]
inc eax
mov dword [esp + 0x44], eax
fcomp dword [esi]
fnstsw ax
and eax, 0x100
jne 0x4269d0
test ecx, ecx
je 0x4269d0
fild dword [esp + 0x14]
fild dword [esp + 0x10]
fld st(1)
fadd dword [edx + 0x448]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x426a9d
fxch st(1)
fsub dword [edx + 0x44c]
fcompp
fnstsw ax
and eax, 0x4100
je 0x426aa1
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
inc eax
add esi, 4
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x426909
mov esi, dword [esp + 0x1c]
fld dword [esi + 0x448]
fild dword [esp + 0x44]
fstp dword [esp + 0x18]
fld st(0)
fmul st(1)
fdiv dword [esp + 0x18]
fcomp dword [esi + 0x450]
fnstsw ax
and eax, 0x4100
fstp st(0)
je 0x426a50
fld dword [esi + 0x44c]
fld st(0)
fmul st(1)
fdiv dword [esp + 0x18]
fcomp dword [esi + 0x450]
fnstsw ax
and eax, 0x4100
fstp st(0)
je 0x426a50
mov eax, ebx
cdq
idiv dword [esp + 0x44]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcomp dword [esi + 0x450]
fnstsw ax
and eax, 0x4100
je 0x426aa1
mov eax, dword [esp + 0x20]
mov ecx, 0xffffff38
mov dword [esp + eax*4 + 0x164], ecx
mov dword [esp + eax*4 + 0x60], ecx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jl 0x426740
mov ebp, dword [esp + 0xd7c]
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x164]
mov ebx, ecx
jmp 0x426ba3
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x54]
mov eax, 0xffffff38
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x34]
mov edx, esi
push eax
mov eax, dword [esp + 0x60]
sub edx, eax
lea ecx, [esp + 0x1c]
shl eax, 5
push ecx
push edx
lea eax, [esp + eax + 0x580]
push eax
call fcn.00426ee0
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x40]
push ecx
sub eax, esi
push edx
push eax
mov eax, esi
shl eax, 5
lea ecx, [esp + eax + 0x590]
push ecx
call fcn.00426ee0
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x38]
add esp, 0x20
test ebp, ebp
mov dword [esp + ebp*4 + 0x60], eax
jne 0x426b1a
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov dword [esp + ecx*4 + 0x164], edi
cmp edx, 1
mov dword [esp + ecx*4 + 0x60], ebx
mov dword [esp + edx*4 + 0x164], eax
jne 0x426b49
mov dword [esp + 0x64], eax
test edi, edi
jge 0x426b55
test ebx, ebx
jl 0x426a64
lea eax, [esi - 1]
test eax, eax
jl 0x426b6f
cmp dword [esp + eax*4 + 0x36c], edx
jne 0x426b6f
mov dword [esp + eax*4 + 0x36c], ecx
dec eax
jns 0x426b5c
mov edx, dword [esp + 0x3c]
lea eax, [esi + 1]
cmp eax, edx
jge 0x426a64
cmp dword [esp + eax*4 + 0x268], ebp
jne 0x426a64
mov dword [esp + eax*4 + 0x268], ecx
inc eax
cmp eax, edx
jl 0x426b7e
jmp 0x426a64
push 1
call fcn.004bd71a
mov eax, dword [esp + 0xd78]
lea edx, [ebx*4]
push edx
push eax
call fcn.0041a980
add esp, 8
mov dword [esp + 0x10], eax
test esi, esi
jge 0x426bc7
mov ecx, edi
jmp 0x426bd4
test edi, edi
jge 0x426bcf
mov ecx, esi
jmp 0x426bd4
lea ecx, [edi + esi]
sar ecx, 1
mov dword [eax], ecx
mov ecx, dword [esp + 0x168]
test ecx, ecx
jge 0x426be7
mov ecx, dword [esp + 0x64]
jmp 0x426bf3
mov edx, dword [esp + 0x64]
test edx, edx
jl 0x426bf3
add ecx, edx
sar ecx, 1
cmp ebx, 2
mov dword [eax + 4], ecx
mov dword [esp + 0x20], 2
jle 0x426cd1
mov ecx, dword [esp + 0x1c]
add ecx, 0x34c
add ebp, 0x30c
mov dword [esp + 0x24], ecx
mov eax, dword [ebp + 0xfc]
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp]
mov edx, dword [esp + 0x1c]
mov esi, dword [ecx + eax*4]
mov ecx, dword [ecx + edi*4]
mov ebx, dword [edx + eax*4 + 0x344]
and esi, 0x7fff
and ecx, 0x7fff
sub ecx, esi
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x24]
mov edx, dword [edx]
sub edx, ebx
imul eax, edx
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + edi*4 + 0x344]
cdq
sub edi, ebx
idiv edi
test ecx, ecx
jge 0x426c71
sub esi, eax
jmp 0x426c73
add esi, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + ecx*4 + 0x164]
test eax, eax
jge 0x426c88
mov eax, dword [esp + ecx*4 + 0x60]
jmp 0x426c94
mov edx, dword [esp + ecx*4 + 0x60]
test edx, edx
jl 0x426c94
add eax, edx
sar eax, 1
test eax, eax
jl 0x426ca5
cmp esi, eax
je 0x426ca5
mov edx, dword [esp + 0x10]
mov dword [edx + ecx*4], eax
jmp 0x426cb2
mov eax, dword [esp + 0x10]
or esi, 0x8000
mov dword [eax + ecx*4], esi
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
inc ecx
add ebp, 4
add edx, 4
cmp ecx, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
jl 0x426c1b
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd64
ret