40cef3:	c6 01 00             	movb   $0x0,(%ecx)
40cef6:	41                   	inc    %ecx
40cef7:	4e                   	dec    %esi
40cef8:	75 f9                	jne    0x40cef3
40cefa:	5e                   	pop    %esi
40cefb:	c9                   	leave
40cefc:	c2 04 00             	ret    $0x4
40ceff:	56                   	push   %esi
40cf00:	68 3c a5 42 00       	push   $0x42a53c
40cf05:	8b f1                	mov    %ecx,%esi
40cf07:	e8 40 ff ff ff       	call   0x40ce4c
40cf0c:	8b c6                	mov    %esi,%eax
40cf0e:	5e                   	pop    %esi
40cf0f:	c3                   	ret
40cf10:	68 00 01 00 00       	push   $0x100
40cf15:	51                   	push   %ecx
40cf16:	c6 81 00 01 00 00 00 	movb   $0x0,0x100(%ecx)
40cf1d:	e8 a6 fe ff ff       	call   0x40cdc8
40cf22:	c3                   	ret
40cf23:	e9 e8 ff ff ff       	jmp    0x40cf10
40cf28:	55                   	push   %ebp
40cf29:	8b ec                	mov    %esp,%ebp
40cf2b:	83 ec 1c             	sub    $0x1c,%esp
40cf2e:	56                   	push   %esi
40cf2f:	33 f6                	xor    %esi,%esi
40cf31:	56                   	push   %esi
40cf32:	56                   	push   %esi
40cf33:	56                   	push   %esi
40cf34:	56                   	push   %esi
40cf35:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40cf38:	50                   	push   %eax
40cf39:	ff 15 10 a3 42 00    	call   *0x42a310
40cf3f:	85 c0                	test   %eax,%eax
40cf41:	74 21                	je     0x40cf64
40cf43:	56                   	push   %esi
40cf44:	56                   	push   %esi
40cf45:	56                   	push   %esi
40cf46:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40cf49:	50                   	push   %eax
40cf4a:	ff 15 14 a3 42 00    	call   *0x42a314
40cf50:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40cf53:	50                   	push   %eax
40cf54:	ff 15 18 a3 42 00    	call   *0x42a318
40cf5a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40cf5d:	50                   	push   %eax
40cf5e:	ff 15 1c a3 42 00    	call   *0x42a31c
40cf64:	5e                   	pop    %esi
40cf65:	c9                   	leave
40cf66:	c3                   	ret
40cf67:	55                   	push   %ebp
40cf68:	8b ec                	mov    %esp,%ebp
40cf6a:	81 ec 2c 01 00 00    	sub    $0x12c,%esp
40cf70:	83 3d d4 f0 42 00 00 	cmpl   $0x0,0x42f0d4
40cf77:	53                   	push   %ebx
40cf78:	56                   	push   %esi
40cf79:	57                   	push   %edi
40cf7a:	bf 00 04 00 00       	mov    $0x400,%edi
40cf7f:	75 31                	jne    0x40cfb2
40cf81:	6a 64                	push   $0x64
40cf83:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
40cf89:	50                   	push   %eax
40cf8a:	6a 0f                	push   $0xf
40cf8c:	57                   	push   %edi
40cf8d:	ff 15 94 a0 42 00    	call   *0x42a094
40cf93:	66 8b 85 d4 fe ff ff 	mov    -0x12c(%ebp),%ax
40cf9a:	66 a3 e4 c3 44 00    	mov    %ax,0x44c3e4
40cfa0:	33 c0                	xor    %eax,%eax
40cfa2:	66 a3 e6 c3 44 00    	mov    %ax,0x44c3e6
40cfa8:	c7 05 d4 f0 42 00 e4 	movl   $0x44c3e4,0x42f0d4
40cfaf:	c3 44 00
40cfb2:	8d 45 9c             	lea    -0x64(%ebp),%eax
40cfb5:	50                   	push   %eax
40cfb6:	ff 75 0c             	push   0xc(%ebp)
40cfb9:	ff 75 08             	push   0x8(%ebp)
40cfbc:	e8 ba 39 00 00       	call   0x41097b
40cfc1:	8b 5d 14             	mov    0x14(%ebp),%ebx
40cfc4:	8b 75 10             	mov    0x10(%ebp),%esi
40cfc7:	53                   	push   %ebx
40cfc8:	56                   	push   %esi
40cfc9:	33 c0                	xor    %eax,%eax
40cfcb:	68 c4 f0 42 00       	push   $0x42f0c4
40cfd0:	66 89 06             	mov    %ax,(%esi)
40cfd3:	8d 45 9c             	lea    -0x64(%ebp),%eax
40cfd6:	50                   	push   %eax
40cfd7:	6a 00                	push   $0x0
40cfd9:	57                   	push   %edi
40cfda:	ff 15 98 a0 42 00    	call   *0x42a098
40cfe0:	33 c0                	xor    %eax,%eax
40cfe2:	5f                   	pop    %edi
40cfe3:	66 89 44 5e fe       	mov    %ax,-0x2(%esi,%ebx,2)
40cfe8:	5e                   	pop    %esi
40cfe9:	5b                   	pop    %ebx
40cfea:	c9                   	leave
40cfeb:	c2 10 00             	ret    $0x10
40cfee:	55                   	push   %ebp
40cfef:	8b ec                	mov    %esp,%ebp
40cff1:	8b 45 08             	mov    0x8(%ebp),%eax
40cff4:	3d 40 42 0f 00       	cmp    $0xf4240,%eax
40cff9:	76 07                	jbe    0x40d002
40cffb:	c1 e8 08             	shr    $0x8,%eax
40cffe:	c1 6d 0c 08          	shrl   $0x8,0xc(%ebp)
40d002:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40d006:	75 04                	jne    0x40d00c
40d008:	33 c0                	xor    %eax,%eax
40d00a:	eb 12                	jmp    0x40d01e
40d00c:	39 45 0c             	cmp    %eax,0xc(%ebp)
40d00f:	73 05                	jae    0x40d016
40d011:	6a 64                	push   $0x64
40d013:	58                   	pop    %eax
40d014:	eb 08                	jmp    0x40d01e
40d016:	6b c0 64             	imul   $0x64,%eax,%eax
40d019:	33 d2                	xor    %edx,%edx
40d01b:	f7 75 0c             	divl   0xc(%ebp)
40d01e:	5d                   	pop    %ebp
40d01f:	c2 08 00             	ret    $0x8
40d022:	55                   	push   %ebp
40d023:	8b ec                	mov    %esp,%ebp
40d025:	51                   	push   %ecx
40d026:	51                   	push   %ecx
40d027:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d02a:	50                   	push   %eax
40d02b:	ff 15 58 a2 42 00    	call   *0x42a258
40d031:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d034:	50                   	push   %eax
40d035:	ff 75 0c             	push   0xc(%ebp)
40d038:	6a 00                	push   $0x0
40d03a:	ff 15 5c a2 42 00    	call   *0x42a25c
40d040:	ff 75 08             	push   0x8(%ebp)
40d043:	ff 75 fc             	push   -0x4(%ebp)
40d046:	ff 15 74 a2 42 00    	call   *0x42a274
40d04c:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d04f:	ff 75 fc             	push   -0x4(%ebp)
40d052:	8b 08                	mov    (%eax),%ecx
40d054:	50                   	push   %eax
40d055:	ff 51 14             	call   *0x14(%ecx)
40d058:	c9                   	leave
40d059:	c2 08 00             	ret    $0x8
40d05c:	8b 44 24 04          	mov    0x4(%esp),%eax
40d060:	66 83 38 00          	cmpw   $0x0,(%eax)
40d064:	8b c8                	mov    %eax,%ecx
40d066:	74 38                	je     0x40d0a0
40d068:	56                   	push   %esi
40d069:	0f b7 11             	movzwl (%ecx),%edx
40d06c:	66 83 fa 5c          	cmp    $0x5c,%dx
40d070:	75 20                	jne    0x40d092
40d072:	0f b7 71 02          	movzwl 0x2(%ecx),%esi
40d076:	66 3b f2             	cmp    %dx,%si
40d079:	75 0d                	jne    0x40d088
40d07b:	6a 5c                	push   $0x5c
40d07d:	5a                   	pop    %edx
40d07e:	66 89 10             	mov    %dx,(%eax)
40d081:	40                   	inc    %eax
40d082:	40                   	inc    %eax
40d083:	83 c1 04             	add    $0x4,%ecx
40d086:	eb 11                	jmp    0x40d099
40d088:	66 83 fe 6e          	cmp    $0x6e,%si
40d08c:	75 04                	jne    0x40d092
40d08e:	6a 0a                	push   $0xa
40d090:	eb eb                	jmp    0x40d07d
40d092:	66 89 10             	mov    %dx,(%eax)
40d095:	40                   	inc    %eax
40d096:	40                   	inc    %eax
40d097:	41                   	inc    %ecx
40d098:	41                   	inc    %ecx
40d099:	66 83 39 00          	cmpw   $0x0,(%ecx)
40d09d:	75 ca                	jne    0x40d069
40d09f:	5e                   	pop    %esi
40d0a0:	33 c9                	xor    %ecx,%ecx
40d0a2:	66 89 08             	mov    %cx,(%eax)
40d0a5:	c2 04 00             	ret    $0x4
40d0a8:	83 3d e8 c3 44 00 00 	cmpl   $0x0,0x44c3e8
40d0af:	75 27                	jne    0x40d0d8
40d0b1:	56                   	push   %esi
40d0b2:	6a 00                	push   $0x0
40d0b4:	ff 15 08 a3 42 00    	call   *0x42a308
40d0ba:	8b f0                	mov    %eax,%esi
40d0bc:	85 f6                	test   %esi,%esi
40d0be:	74 17                	je     0x40d0d7
40d0c0:	6a 58                	push   $0x58
40d0c2:	56                   	push   %esi
40d0c3:	ff 15 48 a0 42 00    	call   *0x42a048
40d0c9:	56                   	push   %esi
40d0ca:	6a 00                	push   $0x0
40d0cc:	a3 e8 c3 44 00       	mov    %eax,0x44c3e8
40d0d1:	ff 15 0c a3 42 00    	call   *0x42a30c
40d0d7:	5e                   	pop    %esi
40d0d8:	a1 e8 c3 44 00       	mov    0x44c3e8,%eax
40d0dd:	0f af 44 24 04       	imul   0x4(%esp),%eax
40d0e2:	6a 60                	push   $0x60
40d0e4:	99                   	cltd
40d0e5:	59                   	pop    %ecx
40d0e6:	f7 f9                	idiv   %ecx
40d0e8:	c2 04 00             	ret    $0x4
40d0eb:	83 3d ec c3 44 00 00 	cmpl   $0x0,0x44c3ec
40d0f2:	75 27                	jne    0x40d11b
40d0f4:	56                   	push   %esi
40d0f5:	6a 00                	push   $0x0
40d0f7:	ff 15 08 a3 42 00    	call   *0x42a308
40d0fd:	8b f0                	mov    %eax,%esi
40d0ff:	85 f6                	test   %esi,%esi
40d101:	74 17                	je     0x40d11a
40d103:	6a 5a                	push   $0x5a
40d105:	56                   	push   %esi
40d106:	ff 15 48 a0 42 00    	call   *0x42a048
40d10c:	56                   	push   %esi
40d10d:	6a 00                	push   $0x0
40d10f:	a3 ec c3 44 00       	mov    %eax,0x44c3ec
40d114:	ff 15 0c a3 42 00    	call   *0x42a30c
40d11a:	5e                   	pop    %esi
40d11b:	a1 ec c3 44 00       	mov    0x44c3ec,%eax
40d120:	0f af 44 24 04       	imul   0x4(%esp),%eax
40d125:	6a 60                	push   $0x60
40d127:	99                   	cltd
40d128:	59                   	pop    %ecx
40d129:	f7 f9                	idiv   %ecx
40d12b:	c2 04 00             	ret    $0x4
40d12e:	6a 64                	push   $0x64
40d130:	e8 73 ff ff ff       	call   0x40d0a8
40d135:	83 f8 7d             	cmp    $0x7d,%eax
40d138:	7d 0f                	jge    0x40d149
40d13a:	6a 64                	push   $0x64
40d13c:	e8 aa ff ff ff       	call   0x40d0eb
40d141:	83 f8 7d             	cmp    $0x7d,%eax
40d144:	7d 03                	jge    0x40d149
40d146:	33 c0                	xor    %eax,%eax
40d148:	c3                   	ret
40d149:	33 c0                	xor    %eax,%eax
40d14b:	40                   	inc    %eax
40d14c:	c3                   	ret
40d14d:	55                   	push   %ebp
40d14e:	8b ec                	mov    %esp,%ebp
40d150:	83 ec 60             	sub    $0x60,%esp
40d153:	53                   	push   %ebx
40d154:	56                   	push   %esi
40d155:	57                   	push   %edi
40d156:	6a 68                	push   $0x68
40d158:	ff 35 00 0d 44 00    	push   0x440d00
40d15e:	ff 15 88 a2 42 00    	call   *0x42a288
40d164:	80 3d 04 0d 44 00 00 	cmpb   $0x0,0x440d04
40d16b:	8b 35 04 a3 42 00    	mov    0x42a304,%esi
40d171:	8b f8                	mov    %eax,%edi
40d173:	89 7d fc             	mov    %edi,-0x4(%ebp)
40d176:	bb b1 00 00 00       	mov    $0xb1,%ebx
40d17b:	75 32                	jne    0x40d1af
40d17d:	8b 0d d4 7c 43 00    	mov    0x437cd4,%ecx
40d183:	e8 ff bb 00 00       	call   0x418d87
40d188:	6a 05                	push   $0x5
40d18a:	57                   	push   %edi
40d18b:	ff 15 8c a2 42 00    	call   *0x42a28c
40d191:	6a ff                	push   $0xffffffff
40d193:	6a 00                	push   $0x0
40d195:	53                   	push   %ebx
40d196:	57                   	push   %edi
40d197:	ff d6                	call   *%esi
40d199:	68 3c a5 42 00       	push   $0x42a53c
40d19e:	6a 00                	push   $0x0
40d1a0:	68 c2 00 00 00       	push   $0xc2
40d1a5:	57                   	push   %edi
40d1a6:	ff d6                	call   *%esi
40d1a8:	c6 05 04 0d 44 00 01 	movb   $0x1,0x440d04
40d1af:	bf 00 e1 f5 05       	mov    $0x5f5e100,%edi
40d1b4:	57                   	push   %edi
40d1b5:	57                   	push   %edi
40d1b6:	53                   	push   %ebx
40d1b7:	ff 75 fc             	push   -0x4(%ebp)
40d1ba:	ff d6                	call   *%esi
40d1bc:	8d 45 a0             	lea    -0x60(%ebp),%eax
40d1bf:	50                   	push   %eax
40d1c0:	6a 00                	push   $0x0
40d1c2:	68 3a 04 00 00       	push   $0x43a
40d1c7:	ff 75 fc             	push   -0x4(%ebp)
40d1ca:	c7 45 a0 5c 00 00 00 	movl   $0x5c,-0x60(%ebp)
40d1d1:	ff d6                	call   *%esi
40d1d3:	33 c0                	xor    %eax,%eax
40d1d5:	40                   	inc    %eax
40d1d6:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40d1da:	c6 45 b9 00          	movb   $0x0,-0x47(%ebp)
40d1de:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40d1e1:	74 1c                	je     0x40d1ff
40d1e3:	8b 4d a8             	mov    -0x58(%ebp),%ecx
40d1e6:	81 e1 ff ff ff bf    	and    $0xbfffffff,%ecx
40d1ec:	0b c8                	or     %eax,%ecx
40d1ee:	89 4d a8             	mov    %ecx,-0x58(%ebp)
40d1f1:	c7 45 b4 a0 00 00 00 	movl   $0xa0,-0x4c(%ebp)
40d1f8:	c7 45 a4 01 00 00 40 	movl   $0x40000001,-0x5c(%ebp)
40d1ff:	8d 4d a0             	lea    -0x60(%ebp),%ecx
40d202:	51                   	push   %ecx
40d203:	50                   	push   %eax
40d204:	68 44 04 00 00       	push   $0x444
40d209:	ff 75 fc             	push   -0x4(%ebp)
40d20c:	ff d6                	call   *%esi
40d20e:	ff 75 0c             	push   0xc(%ebp)
40d211:	6a 00                	push   $0x0
40d213:	68 c2 00 00 00       	push   $0xc2
40d218:	ff 75 fc             	push   -0x4(%ebp)
40d21b:	ff d6                	call   *%esi
40d21d:	57                   	push   %edi
40d21e:	57                   	push   %edi
40d21f:	53                   	push   %ebx
40d220:	ff 75 fc             	push   -0x4(%ebp)
40d223:	ff d6                	call   *%esi
40d225:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40d229:	74 1e                	je     0x40d249
40d22b:	8b 45 a8             	mov    -0x58(%ebp),%eax
40d22e:	83 e0 fe             	and    $0xfffffffe,%eax
40d231:	0d 00 00 00 40       	or     $0x40000000,%eax
40d236:	89 45 a8             	mov    %eax,-0x58(%ebp)
40d239:	8d 45 a0             	lea    -0x60(%ebp),%eax
40d23c:	50                   	push   %eax
40d23d:	6a 01                	push   $0x1
40d23f:	68 44 04 00 00       	push   $0x444
40d244:	ff 75 fc             	push   -0x4(%ebp)
40d247:	ff d6                	call   *%esi
40d249:	68 d8 a7 42 00       	push   $0x42a7d8
40d24e:	6a 00                	push   $0x0
40d250:	68 c2 00 00 00       	push   $0xc2
40d255:	ff 75 fc             	push   -0x4(%ebp)
40d258:	ff d6                	call   *%esi
40d25a:	5f                   	pop    %edi
40d25b:	5e                   	pop    %esi
40d25c:	5b                   	pop    %ebx
40d25d:	c9                   	leave
40d25e:	c2 08 00             	ret    $0x8
40d261:	55                   	push   %ebp
40d262:	8b ec                	mov    %esp,%ebp
40d264:	b8 00 28 00 00       	mov    $0x2800,%eax
40d269:	e8 62 d2 00 00       	call   0x41a4d0
40d26e:	8b 45 08             	mov    0x8(%ebp),%eax
40d271:	85 c0                	test   %eax,%eax
40d273:	74 26                	je     0x40d29b
40d275:	66 83 38 00          	cmpw   $0x0,(%eax)
40d279:	74 26                	je     0x40d2a1
40d27b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40d27e:	51                   	push   %ecx
40d27f:	50                   	push   %eax
40d280:	8d 85 00 d8 ff ff    	lea    -0x2800(%ebp),%eax
40d286:	50                   	push   %eax
40d287:	ff 15 00 a3 42 00    	call   *0x42a300
40d28d:	8d 85 00 d8 ff ff    	lea    -0x2800(%ebp),%eax
40d293:	50                   	push   %eax
40d294:	6a 01                	push   $0x1
40d296:	e8 b2 fe ff ff       	call   0x40d14d
40d29b:	ff 05 f8 0c 44 00    	incl   0x440cf8
40d2a1:	c9                   	leave
40d2a2:	c3                   	ret
40d2a3:	55                   	push   %ebp
40d2a4:	8b ec                	mov    %esp,%ebp
40d2a6:	56                   	push   %esi
40d2a7:	8b 75 14             	mov    0x14(%ebp),%esi
40d2aa:	57                   	push   %edi