40be8e:	74 0b                	je     0x40be9b
40be90:	ff 75 08             	push   0x8(%ebp)
40be93:	50                   	push   %eax
40be94:	e8 3a e3 00 00       	call   0x41a1d3
40be99:	59                   	pop    %ecx
40be9a:	59                   	pop    %ecx
40be9b:	5f                   	pop    %edi
40be9c:	5e                   	pop    %esi
40be9d:	5b                   	pop    %ebx
40be9e:	c9                   	leave
40be9f:	c2 14 00             	ret    $0x14
40bea2:	55                   	push   %ebp
40bea3:	8b ec                	mov    %esp,%ebp
40bea5:	81 ec 00 04 00 00    	sub    $0x400,%esp
40beab:	53                   	push   %ebx
40beac:	56                   	push   %esi
40bead:	57                   	push   %edi
40beae:	ff 75 08             	push   0x8(%ebp)
40beb1:	8d 85 00 fc ff ff    	lea    -0x400(%ebp),%eax
40beb7:	6a 01                	push   $0x1
40beb9:	68 00 02 00 00       	push   $0x200
40bebe:	50                   	push   %eax
40bebf:	68 3c a5 42 00       	push   $0x42a53c
40bec4:	e8 89 fe ff ff       	call   0x40bd52
40bec9:	8d 85 00 fc ff ff    	lea    -0x400(%ebp),%eax
40becf:	6a 2a                	push   $0x2a
40bed1:	50                   	push   %eax
40bed2:	e8 72 05 01 00       	call   0x41c449
40bed7:	59                   	pop    %ecx
40bed8:	59                   	pop    %ecx
40bed9:	8b f8                	mov    %eax,%edi
40bedb:	6a 64                	push   $0x64
40bedd:	5b                   	pop    %ebx
40bede:	85 ff                	test   %edi,%edi
40bee0:	74 21                	je     0x40bf03
40bee2:	8d 85 00 fc ff ff    	lea    -0x400(%ebp),%eax
40bee8:	50                   	push   %eax
40bee9:	e8 cc 5c 00 00       	call   0x411bba
40beee:	8b 75 0c             	mov    0xc(%ebp),%esi
40bef1:	83 c7 02             	add    $0x2,%edi
40bef4:	57                   	push   %edi
40bef5:	89 06                	mov    %eax,(%esi)
40bef7:	e8 be 5c 00 00       	call   0x411bba
40befc:	8b 4d 10             	mov    0x10(%ebp),%ecx
40beff:	89 01                	mov    %eax,(%ecx)
40bf01:	eb 0a                	jmp    0x40bf0d
40bf03:	8b 4d 10             	mov    0x10(%ebp),%ecx
40bf06:	8b 75 0c             	mov    0xc(%ebp),%esi
40bf09:	89 19                	mov    %ebx,(%ecx)
40bf0b:	89 1e                	mov    %ebx,(%esi)
40bf0d:	39 1e                	cmp    %ebx,(%esi)
40bf0f:	75 08                	jne    0x40bf19
40bf11:	39 19                	cmp    %ebx,(%ecx)
40bf13:	75 04                	jne    0x40bf19
40bf15:	33 c0                	xor    %eax,%eax
40bf17:	eb 03                	jmp    0x40bf1c
40bf19:	33 c0                	xor    %eax,%eax
40bf1b:	40                   	inc    %eax
40bf1c:	5f                   	pop    %edi
40bf1d:	5e                   	pop    %esi
40bf1e:	5b                   	pop    %ebx
40bf1f:	c9                   	leave
40bf20:	c2 0c 00             	ret    $0xc
40bf23:	55                   	push   %ebp
40bf24:	8b ec                	mov    %esp,%ebp
40bf26:	81 ec 00 08 00 00    	sub    $0x800,%esp
40bf2c:	56                   	push   %esi
40bf2d:	57                   	push   %edi
40bf2e:	6a 00                	push   $0x0
40bf30:	8b f9                	mov    %ecx,%edi
40bf32:	ff 15 80 a0 42 00    	call   *0x42a080
40bf38:	6a 05                	push   $0x5
40bf3a:	be 10 a7 42 00       	mov    $0x42a710,%esi
40bf3f:	56                   	push   %esi
40bf40:	50                   	push   %eax
40bf41:	ff 15 7c a0 42 00    	call   *0x42a07c
40bf47:	85 c0                	test   %eax,%eax
40bf49:	74 06                	je     0x40bf51
40bf4b:	c6 47 10 01          	movb   $0x1,0x10(%edi)
40bf4f:	eb 34                	jmp    0x40bf85
40bf51:	b8 08 a7 42 00       	mov    $0x42a708,%eax
40bf56:	50                   	push   %eax
40bf57:	6a 01                	push   $0x1
40bf59:	68 00 04 00 00       	push   $0x400
40bf5e:	8d 8d 00 f8 ff ff    	lea    -0x800(%ebp),%ecx
40bf64:	51                   	push   %ecx
40bf65:	50                   	push   %eax
40bf66:	8b cf                	mov    %edi,%ecx
40bf68:	e8 e5 fd ff ff       	call   0x40bd52
40bf6d:	8d 85 00 f8 ff ff    	lea    -0x800(%ebp),%eax
40bf73:	56                   	push   %esi
40bf74:	50                   	push   %eax
40bf75:	e8 87 e4 00 00       	call   0x41a401
40bf7a:	f7 d8                	neg    %eax
40bf7c:	1a c0                	sbb    %al,%al
40bf7e:	59                   	pop    %ecx
40bf7f:	fe c0                	inc    %al
40bf81:	59                   	pop    %ecx
40bf82:	88 47 10             	mov    %al,0x10(%edi)
40bf85:	5f                   	pop    %edi
40bf86:	5e                   	pop    %esi
40bf87:	c9                   	leave
40bf88:	c3                   	ret
40bf89:	55                   	push   %ebp
40bf8a:	8b ec                	mov    %esp,%ebp
40bf8c:	81 ec 50 08 00 00    	sub    $0x850,%esp
40bf92:	53                   	push   %ebx
40bf93:	56                   	push   %esi
40bf94:	57                   	push   %edi
40bf95:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bf98:	50                   	push   %eax
40bf99:	8d 45 f0             	lea    -0x10(%ebp),%eax
40bf9c:	50                   	push   %eax
40bf9d:	ff 75 0c             	push   0xc(%ebp)
40bfa0:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40bfa3:	e8 fa fe ff ff       	call   0x40bea2
40bfa8:	88 45 ff             	mov    %al,-0x1(%ebp)
40bfab:	8d 45 d0             	lea    -0x30(%ebp),%eax
40bfae:	50                   	push   %eax
40bfaf:	ff 75 08             	push   0x8(%ebp)
40bfb2:	ff 15 24 a3 42 00    	call   *0x42a324
40bfb8:	8d 45 b0             	lea    -0x50(%ebp),%eax
40bfbb:	50                   	push   %eax
40bfbc:	ff 75 08             	push   0x8(%ebp)
40bfbf:	ff 15 28 a3 42 00    	call   *0x42a328
40bfc5:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40bfc8:	2b 4d d0             	sub    -0x30(%ebp),%ecx
40bfcb:	8b 75 dc             	mov    -0x24(%ebp),%esi
40bfce:	2b 75 d4             	sub    -0x2c(%ebp),%esi
40bfd1:	8b 45 b8             	mov    -0x48(%ebp),%eax
40bfd4:	41                   	inc    %ecx
40bfd5:	46                   	inc    %esi
40bfd6:	8b d9                	mov    %ecx,%ebx
40bfd8:	8b fe                	mov    %esi,%edi
40bfda:	2b 7d bc             	sub    -0x44(%ebp),%edi
40bfdd:	2b d8                	sub    %eax,%ebx
40bfdf:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40bfe3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40bfe6:	0f 84 99 00 00 00    	je     0x40c085
40bfec:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
40bff0:	0f 85 d3 00 00 00    	jne    0x40c0c9
40bff6:	0f af 45 f0          	imul   -0x10(%ebp),%eax
40bffa:	99                   	cltd
40bffb:	6a 64                	push   $0x64
40bffd:	5b                   	pop    %ebx
40bffe:	f7 fb                	idiv   %ebx
40c000:	03 45 f8             	add    -0x8(%ebp),%eax
40c003:	89 45 ec             	mov    %eax,-0x14(%ebp)
40c006:	8b 45 bc             	mov    -0x44(%ebp),%eax
40c009:	0f af 45 f4          	imul   -0xc(%ebp),%eax
40c00d:	99                   	cltd
40c00e:	f7 fb                	idiv   %ebx
40c010:	03 c7                	add    %edi,%eax
40c012:	89 45 e8             	mov    %eax,-0x18(%ebp)
40c015:	8b c1                	mov    %ecx,%eax
40c017:	2b 45 ec             	sub    -0x14(%ebp),%eax
40c01a:	99                   	cltd
40c01b:	2b c2                	sub    %edx,%eax
40c01d:	8b d8                	mov    %eax,%ebx
40c01f:	8b c6                	mov    %esi,%eax
40c021:	2b 45 e8             	sub    -0x18(%ebp),%eax
40c024:	d1 fb                	sar    $1,%ebx
40c026:	03 5d d0             	add    -0x30(%ebp),%ebx
40c029:	99                   	cltd
40c02a:	2b c2                	sub    %edx,%eax
40c02c:	8b f0                	mov    %eax,%esi
40c02e:	d1 fe                	sar    $1,%esi
40c030:	03 75 d4             	add    -0x2c(%ebp),%esi
40c033:	85 db                	test   %ebx,%ebx
40c035:	7d 02                	jge    0x40c039
40c037:	33 db                	xor    %ebx,%ebx
40c039:	85 f6                	test   %esi,%esi
40c03b:	7d 02                	jge    0x40c03f
40c03d:	33 f6                	xor    %esi,%esi
40c03f:	6a f0                	push   $0xfffffff0
40c041:	ff 75 08             	push   0x8(%ebp)
40c044:	c7 45 e4 04 02 00 00 	movl   $0x204,-0x1c(%ebp)
40c04b:	ff 15 40 a3 42 00    	call   *0x42a340
40c051:	a9 00 08 00 00       	test   $0x800,%eax
40c056:	75 07                	jne    0x40c05f
40c058:	c7 45 e4 06 02 00 00 	movl   $0x206,-0x1c(%ebp)
40c05f:	ff 75 e4             	push   -0x1c(%ebp)
40c062:	ff 75 e8             	push   -0x18(%ebp)
40c065:	ff 75 ec             	push   -0x14(%ebp)
40c068:	56                   	push   %esi
40c069:	53                   	push   %ebx
40c06a:	6a 00                	push   $0x0
40c06c:	ff 75 08             	push   0x8(%ebp)
40c06f:	ff 15 2c a3 42 00    	call   *0x42a32c
40c075:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c078:	50                   	push   %eax
40c079:	ff 75 08             	push   0x8(%ebp)
40c07c:	ff 15 24 a3 42 00    	call   *0x42a324
40c082:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40c085:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
40c089:	be 00 04 00 00       	mov    $0x400,%esi
40c08e:	75 3e                	jne    0x40c0ce
40c090:	56                   	push   %esi
40c091:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c097:	50                   	push   %eax
40c098:	ff 75 08             	push   0x8(%ebp)
40c09b:	ff 15 30 a3 42 00    	call   *0x42a330
40c0a1:	ff 75 0c             	push   0xc(%ebp)
40c0a4:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c0a7:	6a 01                	push   $0x1
40c0a9:	56                   	push   %esi
40c0aa:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c0b0:	50                   	push   %eax
40c0b1:	50                   	push   %eax
40c0b2:	e8 9b fc ff ff       	call   0x40bd52
40c0b7:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c0bd:	50                   	push   %eax
40c0be:	ff 75 08             	push   0x8(%ebp)
40c0c1:	ff 15 34 a3 42 00    	call   *0x42a334
40c0c7:	eb 05                	jmp    0x40c0ce
40c0c9:	be 00 04 00 00       	mov    $0x400,%esi
40c0ce:	6a 08                	push   $0x8
40c0d0:	ff 15 38 a3 42 00    	call   *0x42a338
40c0d6:	6a 05                	push   $0x5
40c0d8:	ff 75 08             	push   0x8(%ebp)
40c0db:	2b f8                	sub    %eax,%edi
40c0dd:	ff 15 3c a3 42 00    	call   *0x42a33c
40c0e3:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40c0e7:	89 45 10             	mov    %eax,0x10(%ebp)
40c0ea:	89 45 f8             	mov    %eax,-0x8(%ebp)
40c0ed:	e9 d4 00 00 00       	jmp    0x40c1c6
40c0f2:	81 7d 08 00 02 00 00 	cmpl   $0x200,0x8(%ebp)
40c0f9:	0f 8d cf 00 00 00    	jge    0x40c1ce
40c0ff:	56                   	push   %esi
40c100:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c106:	50                   	push   %eax
40c107:	ff 75 10             	push   0x10(%ebp)
40c10a:	ff 15 30 a3 42 00    	call   *0x42a330
40c110:	66 83 bd b0 f7 ff ff 	cmpw   $0x0,-0x850(%ebp)
40c117:	00
40c118:	74 26                	je     0x40c140
40c11a:	ff 75 0c             	push   0xc(%ebp)
40c11d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c120:	6a 01                	push   $0x1
40c122:	56                   	push   %esi
40c123:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c129:	50                   	push   %eax
40c12a:	50                   	push   %eax
40c12b:	e8 22 fc ff ff       	call   0x40bd52
40c130:	8d 85 b0 f7 ff ff    	lea    -0x850(%ebp),%eax
40c136:	50                   	push   %eax
40c137:	ff 75 10             	push   0x10(%ebp)
40c13a:	ff 15 34 a3 42 00    	call   *0x42a334
40c140:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40c144:	74 6a                	je     0x40c1b0
40c146:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c149:	50                   	push   %eax
40c14a:	ff 75 10             	push   0x10(%ebp)
40c14d:	ff 15 24 a3 42 00    	call   *0x42a324
40c153:	8b 45 cc             	mov    -0x34(%ebp),%eax
40c156:	2b 45 c4             	sub    -0x3c(%ebp),%eax
40c159:	68 04 02 00 00       	push   $0x204
40c15e:	40                   	inc    %eax
40c15f:	0f af 45 f4          	imul   -0xc(%ebp),%eax
40c163:	99                   	cltd
40c164:	6a 64                	push   $0x64
40c166:	59                   	pop    %ecx
40c167:	f7 f9                	idiv   %ecx
40c169:	50                   	push   %eax
40c16a:	8b 45 c8             	mov    -0x38(%ebp),%eax
40c16d:	2b 45 c0             	sub    -0x40(%ebp),%eax
40c170:	40                   	inc    %eax
40c171:	0f af 45 f0          	imul   -0x10(%ebp),%eax
40c175:	99                   	cltd
40c176:	f7 f9                	idiv   %ecx
40c178:	50                   	push   %eax
40c179:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40c17c:	2b c7                	sub    %edi,%eax
40c17e:	2b 45 d4             	sub    -0x2c(%ebp),%eax
40c181:	0f af 45 f4          	imul   -0xc(%ebp),%eax
40c185:	99                   	cltd
40c186:	f7 f9                	idiv   %ecx
40c188:	50                   	push   %eax
40c189:	8b c3                	mov    %ebx,%eax
40c18b:	99                   	cltd
40c18c:	2b c2                	sub    %edx,%eax
40c18e:	8b c8                	mov    %eax,%ecx
40c190:	8b 45 c0             	mov    -0x40(%ebp),%eax
40c193:	d1 f9                	sar    $1,%ecx
40c195:	2b c1                	sub    %ecx,%eax
40c197:	2b 45 d0             	sub    -0x30(%ebp),%eax
40c19a:	6a 64                	push   $0x64
40c19c:	0f af 45 f0          	imul   -0x10(%ebp),%eax
40c1a0:	59                   	pop    %ecx
40c1a1:	99                   	cltd
40c1a2:	f7 f9                	idiv   %ecx
40c1a4:	50                   	push   %eax
40c1a5:	6a 00                	push   $0x0
40c1a7:	ff 75 10             	push   0x10(%ebp)
40c1aa:	ff 15 2c a3 42 00    	call   *0x42a32c
40c1b0:	6a 02                	push   $0x2
40c1b2:	ff 75 10             	push   0x10(%ebp)
40c1b5:	ff 15 3c a3 42 00    	call   *0x42a33c
40c1bb:	89 45 10             	mov    %eax,0x10(%ebp)
40c1be:	3b 45 f8             	cmp    -0x8(%ebp),%eax
40c1c1:	74 0b                	je     0x40c1ce
40c1c3:	ff 45 08             	incl   0x8(%ebp)
40c1c6:	85 c0                	test   %eax,%eax
40c1c8:	0f 85 24 ff ff ff    	jne    0x40c0f2
40c1ce:	5f                   	pop    %edi
40c1cf:	5e                   	pop    %esi
40c1d0:	5b                   	pop    %ebx
40c1d1:	c9                   	leave
40c1d2:	c2 0c 00             	ret    $0xc
40c1d5:	56                   	push   %esi
40c1d6:	ff 74 24 08          	push   0x8(%esp)
40c1da:	8b f1                	mov    %ecx,%esi
40c1dc:	e8 86 f8 ff ff       	call   0x40ba67
40c1e1:	8b ce                	mov    %esi,%ecx
40c1e3:	e8 3b fd ff ff       	call   0x40bf23
40c1e8:	5e                   	pop    %esi
40c1e9:	c2 04 00             	ret    $0x4
40c1ec:	a1 98 4a 43 00       	mov    0x434a98,%eax
40c1f1:	40                   	inc    %eax
40c1f2:	a3 98 4a 43 00       	mov    %eax,0x434a98
40c1f7:	83 f8 08             	cmp    $0x8,%eax
40c1fa:	72 07                	jb     0x40c203
40c1fc:	33 c0                	xor    %eax,%eax
40c1fe:	a3 98 4a 43 00       	mov    %eax,0x434a98
40c203:	53                   	push   %ebx
40c204:	55                   	push   %ebp
40c205:	c1 e0 0a             	shl    $0xa,%eax
40c208:	05 98 2a 43 00       	add    $0x432a98,%eax
40c20d:	56                   	push   %esi
40c20e:	8b f0                	mov    %eax,%esi
40c210:	33 c0                	xor    %eax,%eax
40c212:	bd 84 2a 43 00       	mov    $0x432a84,%ebp
40c217:	57                   	push   %edi
40c218:	8b cd                	mov    %ebp,%ecx
40c21a:	66 89 06             	mov    %ax,(%esi)
40c21d:	e8 b0 f7 ff ff       	call   0x40b9d2
40c222:	8b 1d 20 a3 42 00    	mov    0x42a320,%ebx
40c228:	bf 00 02 00 00       	mov    $0x200,%edi
40c22d:	84 c0                	test   %al,%al
40c22f:	75 12                	jne    0x40c243
40c231:	57                   	push   %edi
40c232:	56                   	push   %esi
40c233:	ff 74 24 1c          	push   0x1c(%esp)
40c237:	ff 35 70 2a 43 00    	push   0x432a70
40c23d:	ff d3                	call   *%ebx
40c23f:	85 c0                	test   %eax,%eax
40c241:	75 0e                	jne    0x40c251
40c243:	57                   	push   %edi
40c244:	56                   	push   %esi
40c245:	ff 74 24 1c          	push   0x1c(%esp)