40bdb3:	5e                   	pop    %esi
40bdb4:	39 1d 38 1f 42 00    	cmp    %ebx,0x421f38
40bdba:	74 13                	je     0x40bdcf
40bdbc:	53                   	push   %ebx
40bdbd:	6a 02                	push   $0x2
40bdbf:	68 c8 02 00 00       	push   $0x2c8
40bdc4:	56                   	push   %esi
40bdc5:	8b cf                	mov    %edi,%ecx
40bdc7:	e8 f1 03 00 00       	call   0x40c1bd
40bdcc:	6a 0c                	push   $0xc
40bdce:	5e                   	pop    %esi
40bdcf:	6a 02                	push   $0x2
40bdd1:	6a 01                	push   $0x1
40bdd3:	68 c9 02 00 00       	push   $0x2c9
40bdd8:	56                   	push   %esi
40bdd9:	8b cf                	mov    %edi,%ecx
40bddb:	e8 dd 03 00 00       	call   0x40c1bd
40bde0:	6a 02                	push   $0x2
40bde2:	6a 01                	push   $0x1
40bde4:	68 ca 02 00 00       	push   $0x2ca
40bde9:	46                   	inc    %esi
40bdea:	8b cf                	mov    %edi,%ecx
40bdec:	56                   	push   %esi
40bded:	e8 cb 03 00 00       	call   0x40c1bd
40bdf2:	53                   	push   %ebx
40bdf3:	6a 01                	push   $0x1
40bdf5:	68 cb 02 00 00       	push   $0x2cb
40bdfa:	46                   	inc    %esi
40bdfb:	8b cf                	mov    %edi,%ecx
40bdfd:	56                   	push   %esi
40bdfe:	e8 ba 03 00 00       	call   0x40c1bd
40be03:	53                   	push   %ebx
40be04:	6a 01                	push   $0x1
40be06:	68 cc 02 00 00       	push   $0x2cc
40be0b:	46                   	inc    %esi
40be0c:	8b cf                	mov    %edi,%ecx
40be0e:	56                   	push   %esi
40be0f:	e8 a9 03 00 00       	call   0x40c1bd
40be14:	53                   	push   %ebx
40be15:	53                   	push   %ebx
40be16:	68 cd 02 00 00       	push   $0x2cd
40be1b:	46                   	inc    %esi
40be1c:	8b cf                	mov    %edi,%ecx
40be1e:	56                   	push   %esi
40be1f:	e8 99 03 00 00       	call   0x40c1bd
40be24:	53                   	push   %ebx
40be25:	6a 01                	push   $0x1
40be27:	68 ce 02 00 00       	push   $0x2ce
40be2c:	46                   	inc    %esi
40be2d:	8b cf                	mov    %edi,%ecx
40be2f:	56                   	push   %esi
40be30:	e8 88 03 00 00       	call   0x40c1bd
40be35:	53                   	push   %ebx
40be36:	6a 01                	push   $0x1
40be38:	68 cf 02 00 00       	push   $0x2cf
40be3d:	46                   	inc    %esi
40be3e:	8b cf                	mov    %edi,%ecx
40be40:	56                   	push   %esi
40be41:	e8 77 03 00 00       	call   0x40c1bd
40be46:	46                   	inc    %esi
40be47:	39 1d 38 1f 42 00    	cmp    %ebx,0x421f38
40be4d:	74 11                	je     0x40be60
40be4f:	53                   	push   %ebx
40be50:	6a 02                	push   $0x2
40be52:	68 d0 02 00 00       	push   $0x2d0
40be57:	56                   	push   %esi
40be58:	8b cf                	mov    %edi,%ecx
40be5a:	e8 5e 03 00 00       	call   0x40c1bd
40be5f:	46                   	inc    %esi
40be60:	6a 04                	push   $0x4
40be62:	6a 01                	push   $0x1
40be64:	68 d1 02 00 00       	push   $0x2d1
40be69:	56                   	push   %esi
40be6a:	8b cf                	mov    %edi,%ecx
40be6c:	e8 4c 03 00 00       	call   0x40c1bd
40be71:	46                   	inc    %esi
40be72:	39 1d 38 1f 42 00    	cmp    %ebx,0x421f38
40be78:	74 11                	je     0x40be8b
40be7a:	53                   	push   %ebx
40be7b:	6a 02                	push   $0x2
40be7d:	68 d2 02 00 00       	push   $0x2d2
40be82:	56                   	push   %esi
40be83:	8b cf                	mov    %edi,%ecx
40be85:	e8 33 03 00 00       	call   0x40c1bd
40be8a:	46                   	inc    %esi
40be8b:	53                   	push   %ebx
40be8c:	6a 01                	push   $0x1
40be8e:	68 d3 02 00 00       	push   $0x2d3
40be93:	56                   	push   %esi
40be94:	8b cf                	mov    %edi,%ecx
40be96:	e8 22 03 00 00       	call   0x40c1bd
40be9b:	53                   	push   %ebx
40be9c:	6a 01                	push   $0x1
40be9e:	68 d4 02 00 00       	push   $0x2d4
40bea3:	46                   	inc    %esi
40bea4:	8b cf                	mov    %edi,%ecx
40bea6:	56                   	push   %esi
40bea7:	e8 11 03 00 00       	call   0x40c1bd
40beac:	53                   	push   %ebx
40bead:	6a 01                	push   $0x1
40beaf:	68 d5 02 00 00       	push   $0x2d5
40beb4:	8d 46 01             	lea    0x1(%esi),%eax
40beb7:	8b cf                	mov    %edi,%ecx
40beb9:	50                   	push   %eax
40beba:	e8 fe 02 00 00       	call   0x40c1bd
40bebf:	5f                   	pop    %edi
40bec0:	5e                   	pop    %esi
40bec1:	5b                   	pop    %ebx
40bec2:	c3                   	ret
40bec3:	8b ff                	mov    %edi,%edi
40bec5:	51                   	push   %ecx
40bec6:	56                   	push   %esi
40bec7:	57                   	push   %edi
40bec8:	6a 00                	push   $0x0
40beca:	8b f9                	mov    %ecx,%edi
40becc:	e8 96 01 00 00       	call   0x40c067
40bed1:	6a 01                	push   $0x1
40bed3:	8b cf                	mov    %edi,%ecx
40bed5:	89 87 a4 00 00 00    	mov    %eax,0xa4(%edi)
40bedb:	e8 87 01 00 00       	call   0x40c067
40bee0:	6a 02                	push   $0x2
40bee2:	8b cf                	mov    %edi,%ecx
40bee4:	89 87 a8 00 00 00    	mov    %eax,0xa8(%edi)
40beea:	e8 78 01 00 00       	call   0x40c067
40beef:	6a 03                	push   $0x3
40bef1:	8b cf                	mov    %edi,%ecx
40bef3:	89 87 ac 00 00 00    	mov    %eax,0xac(%edi)
40bef9:	e8 69 01 00 00       	call   0x40c067
40befe:	6a 04                	push   $0x4
40bf00:	8b cf                	mov    %edi,%ecx
40bf02:	89 87 b0 00 00 00    	mov    %eax,0xb0(%edi)
40bf08:	e8 5a 01 00 00       	call   0x40c067
40bf0d:	6a 05                	push   $0x5
40bf0f:	8b cf                	mov    %edi,%ecx
40bf11:	89 87 b4 00 00 00    	mov    %eax,0xb4(%edi)
40bf17:	e8 4b 01 00 00       	call   0x40c067
40bf1c:	6a 06                	push   $0x6
40bf1e:	8b cf                	mov    %edi,%ecx
40bf20:	89 87 b8 00 00 00    	mov    %eax,0xb8(%edi)
40bf26:	e8 3c 01 00 00       	call   0x40c067
40bf2b:	6a 07                	push   $0x7
40bf2d:	8b cf                	mov    %edi,%ecx
40bf2f:	89 87 bc 00 00 00    	mov    %eax,0xbc(%edi)
40bf35:	e8 2d 01 00 00       	call   0x40c067
40bf3a:	6a 08                	push   $0x8
40bf3c:	8b cf                	mov    %edi,%ecx
40bf3e:	89 87 c0 00 00 00    	mov    %eax,0xc0(%edi)
40bf44:	e8 1e 01 00 00       	call   0x40c067
40bf49:	6a 09                	push   $0x9
40bf4b:	8b cf                	mov    %edi,%ecx
40bf4d:	89 87 c4 00 00 00    	mov    %eax,0xc4(%edi)
40bf53:	e8 0f 01 00 00       	call   0x40c067
40bf58:	6a 0a                	push   $0xa
40bf5a:	8b cf                	mov    %edi,%ecx
40bf5c:	89 87 c8 00 00 00    	mov    %eax,0xc8(%edi)
40bf62:	e8 00 01 00 00       	call   0x40c067
40bf67:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
40bf6e:	6a 0b                	push   $0xb
40bf70:	89 87 cc 00 00 00    	mov    %eax,0xcc(%edi)
40bf76:	5e                   	pop    %esi
40bf77:	74 11                	je     0x40bf8a
40bf79:	56                   	push   %esi
40bf7a:	8b cf                	mov    %edi,%ecx
40bf7c:	e8 e6 00 00 00       	call   0x40c067
40bf81:	6a 0c                	push   $0xc
40bf83:	89 87 d0 00 00 00    	mov    %eax,0xd0(%edi)
40bf89:	5e                   	pop    %esi
40bf8a:	56                   	push   %esi
40bf8b:	8b cf                	mov    %edi,%ecx
40bf8d:	e8 d5 00 00 00       	call   0x40c067
40bf92:	46                   	inc    %esi
40bf93:	89 87 d4 00 00 00    	mov    %eax,0xd4(%edi)
40bf99:	56                   	push   %esi
40bf9a:	8b cf                	mov    %edi,%ecx
40bf9c:	e8 c6 00 00 00       	call   0x40c067
40bfa1:	46                   	inc    %esi
40bfa2:	89 87 d8 00 00 00    	mov    %eax,0xd8(%edi)
40bfa8:	56                   	push   %esi
40bfa9:	8b cf                	mov    %edi,%ecx
40bfab:	e8 b7 00 00 00       	call   0x40c067
40bfb0:	46                   	inc    %esi
40bfb1:	89 87 dc 00 00 00    	mov    %eax,0xdc(%edi)
40bfb7:	56                   	push   %esi
40bfb8:	8b cf                	mov    %edi,%ecx
40bfba:	e8 a8 00 00 00       	call   0x40c067
40bfbf:	46                   	inc    %esi
40bfc0:	89 87 e0 00 00 00    	mov    %eax,0xe0(%edi)
40bfc6:	56                   	push   %esi
40bfc7:	8b cf                	mov    %edi,%ecx
40bfc9:	e8 99 00 00 00       	call   0x40c067
40bfce:	46                   	inc    %esi
40bfcf:	89 87 e4 00 00 00    	mov    %eax,0xe4(%edi)
40bfd5:	56                   	push   %esi
40bfd6:	8b cf                	mov    %edi,%ecx
40bfd8:	e8 8a 00 00 00       	call   0x40c067
40bfdd:	46                   	inc    %esi
40bfde:	89 87 e8 00 00 00    	mov    %eax,0xe8(%edi)
40bfe4:	56                   	push   %esi
40bfe5:	8b cf                	mov    %edi,%ecx
40bfe7:	e8 7b 00 00 00       	call   0x40c067
40bfec:	46                   	inc    %esi
40bfed:	89 87 ec 00 00 00    	mov    %eax,0xec(%edi)
40bff3:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
40bffa:	74 0f                	je     0x40c00b
40bffc:	56                   	push   %esi
40bffd:	8b cf                	mov    %edi,%ecx
40bfff:	e8 63 00 00 00       	call   0x40c067
40c004:	89 87 f0 00 00 00    	mov    %eax,0xf0(%edi)
40c00a:	46                   	inc    %esi
40c00b:	56                   	push   %esi
40c00c:	8b cf                	mov    %edi,%ecx
40c00e:	e8 54 00 00 00       	call   0x40c067
40c013:	46                   	inc    %esi
40c014:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
40c01a:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
40c021:	74 0f                	je     0x40c032
40c023:	56                   	push   %esi
40c024:	8b cf                	mov    %edi,%ecx
40c026:	e8 3c 00 00 00       	call   0x40c067
40c02b:	89 87 f8 00 00 00    	mov    %eax,0xf8(%edi)
40c031:	46                   	inc    %esi
40c032:	56                   	push   %esi
40c033:	8b cf                	mov    %edi,%ecx
40c035:	e8 2d 00 00 00       	call   0x40c067
40c03a:	46                   	inc    %esi
40c03b:	89 87 fc 00 00 00    	mov    %eax,0xfc(%edi)
40c041:	56                   	push   %esi
40c042:	8b cf                	mov    %edi,%ecx
40c044:	e8 1e 00 00 00       	call   0x40c067
40c049:	8d 4e 01             	lea    0x1(%esi),%ecx
40c04c:	89 87 00 01 00 00    	mov    %eax,0x100(%edi)
40c052:	51                   	push   %ecx
40c053:	8b cf                	mov    %edi,%ecx
40c055:	e8 0d 00 00 00       	call   0x40c067
40c05a:	89 87 04 01 00 00    	mov    %eax,0x104(%edi)
40c060:	33 c0                	xor    %eax,%eax
40c062:	5f                   	pop    %edi
40c063:	40                   	inc    %eax
40c064:	5e                   	pop    %esi
40c065:	59                   	pop    %ecx
40c066:	c3                   	ret
40c067:	8b ff                	mov    %edi,%edi
40c069:	55                   	push   %ebp
40c06a:	8b ec                	mov    %esp,%ebp
40c06c:	83 ec 20             	sub    $0x20,%esp
40c06f:	53                   	push   %ebx
40c070:	56                   	push   %esi
40c071:	57                   	push   %edi
40c072:	6a 06                	push   $0x6
40c074:	8b d9                	mov    %ecx,%ebx
40c076:	8d 7d e4             	lea    -0x1c(%ebp),%edi
40c079:	59                   	pop    %ecx
40c07a:	33 c0                	xor    %eax,%eax
40c07c:	33 f6                	xor    %esi,%esi
40c07e:	f3 ab                	rep stos %eax,%es:(%edi)
40c080:	8b 45 08             	mov    0x8(%ebp),%eax
40c083:	89 45 ec             	mov    %eax,-0x14(%ebp)
40c086:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c089:	50                   	push   %eax
40c08a:	6a ff                	push   $0xffffffff
40c08c:	68 53 10 00 00       	push   $0x1053
40c091:	ff b3 28 01 00 00    	push   0x128(%ebx)
40c097:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
40c09e:	ff 15 40 34 42 00    	call   *0x423440
40c0a4:	85 c0                	test   %eax,%eax
40c0a6:	78 0f                	js     0x40c0b7
40c0a8:	50                   	push   %eax
40c0a9:	8d 8b 08 01 00 00    	lea    0x108(%ebx),%ecx
40c0af:	ff 15 20 31 42 00    	call   *0x423120
40c0b5:	8b f0                	mov    %eax,%esi
40c0b7:	5f                   	pop    %edi
40c0b8:	8b c6                	mov    %esi,%eax
40c0ba:	5e                   	pop    %esi
40c0bb:	5b                   	pop    %ebx
40c0bc:	c9                   	leave
40c0bd:	c2 04 00             	ret    $0x4
40c0c0:	8b ff                	mov    %edi,%edi
40c0c2:	55                   	push   %ebp
40c0c3:	8b ec                	mov    %esp,%ebp
40c0c5:	83 ec 18             	sub    $0x18,%esp
40c0c8:	56                   	push   %esi
40c0c9:	57                   	push   %edi
40c0ca:	6a 06                	push   $0x6
40c0cc:	8b f1                	mov    %ecx,%esi
40c0ce:	8d 7d e8             	lea    -0x18(%ebp),%edi
40c0d1:	59                   	pop    %ecx
40c0d2:	33 c0                	xor    %eax,%eax
40c0d4:	f3 ab                	rep stos %eax,%es:(%edi)
40c0d6:	8b 45 08             	mov    0x8(%ebp),%eax
40c0d9:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c0dc:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c0df:	50                   	push   %eax
40c0e0:	6a ff                	push   $0xffffffff
40c0e2:	68 53 10 00 00       	push   $0x1053
40c0e7:	ff b6 28 01 00 00    	push   0x128(%esi)
40c0ed:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40c0f4:	ff 15 40 34 42 00    	call   *0x423440
40c0fa:	85 c0                	test   %eax,%eax
40c0fc:	78 12                	js     0x40c110
40c0fe:	ff 75 0c             	push   0xc(%ebp)
40c101:	8d 8e 08 01 00 00    	lea    0x108(%esi),%ecx
40c107:	50                   	push   %eax
40c108:	ff 15 1c 31 42 00    	call   *0x42311c
40c10e:	eb 03                	jmp    0x40c113
40c110:	8b 45 0c             	mov    0xc(%ebp),%eax
40c113:	5f                   	pop    %edi
40c114:	5e                   	pop    %esi
40c115:	c9                   	leave
40c116:	c2 08 00             	ret    $0x8
40c119:	8b ff                	mov    %edi,%edi
40c11b:	55                   	push   %ebp
40c11c:	8b ec                	mov    %esp,%ebp
40c11e:	83 ec 54             	sub    $0x54,%esp
40c121:	53                   	push   %ebx
40c122:	56                   	push   %esi
40c123:	57                   	push   %edi
40c124:	6a 06                	push   $0x6
40c126:	8b d9                	mov    %ecx,%ebx
40c128:	8d 7d e8             	lea    -0x18(%ebp),%edi
40c12b:	59                   	pop    %ecx
40c12c:	33 c0                	xor    %eax,%eax
40c12e:	33 f6                	xor    %esi,%esi
40c130:	f3 ab                	rep stos %eax,%es:(%edi)
40c132:	8b 45 08             	mov    0x8(%ebp),%eax
40c135:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c138:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c13b:	50                   	push   %eax
40c13c:	6a ff                	push   $0xffffffff
40c13e:	68 53 10 00 00       	push   $0x1053
40c143:	ff b3 28 01 00 00    	push   0x128(%ebx)
40c149:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40c150:	ff 15 40 34 42 00    	call   *0x423440
40c156:	8b f8                	mov    %eax,%edi
40c158:	85 ff                	test   %edi,%edi
40c15a:	79 0a                	jns    0x40c166
40c15c:	8b 45 0c             	mov    0xc(%ebp),%eax
40c15f:	33 c9                	xor    %ecx,%ecx
40c161:	66 89 08             	mov    %cx,(%eax)
40c164:	eb 4e                	jmp    0x40c1b4
40c166:	6a 3c                	push   $0x3c
40c168:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c16b:	56                   	push   %esi
40c16c:	50                   	push   %eax
40c16d:	e8 af 04 01 00       	call   0x41c621
40c172:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
40c178:	83 c4 0c             	add    $0xc,%esp
40c17b:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40c17e:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c181:	89 7d b0             	mov    %edi,-0x50(%ebp)
40c184:	8b 7d 0c             	mov    0xc(%ebp),%edi