403f69:	ff 15 6c f0 40 00    	call   *0x40f06c
403f6f:	5f                   	pop    %edi
403f70:	5b                   	pop    %ebx
403f71:	5e                   	pop    %esi
403f72:	c9                   	leave
403f73:	c3                   	ret
403f74:	8b ff                	mov    %edi,%edi
403f76:	55                   	push   %ebp
403f77:	8b ec                	mov    %esp,%ebp
403f79:	51                   	push   %ecx
403f7a:	53                   	push   %ebx
403f7b:	8b da                	mov    %edx,%ebx
403f7d:	83 f9 04             	cmp    $0x4,%ecx
403f80:	74 0c                	je     0x403f8e
403f82:	6a 1d                	push   $0x1d
403f84:	59                   	pop    %ecx
403f85:	e8 d5 ea ff ff       	call   0x402a5f
403f8a:	33 c0                	xor    %eax,%eax
403f8c:	eb 73                	jmp    0x404001
403f8e:	8b 4b 08             	mov    0x8(%ebx),%ecx
403f91:	56                   	push   %esi
403f92:	57                   	push   %edi
403f93:	6a 2a                	push   $0x2a
403f95:	33 f6                	xor    %esi,%esi
403f97:	58                   	pop    %eax
403f98:	89 75 fc             	mov    %esi,-0x4(%ebp)
403f9b:	66 39 01             	cmp    %ax,(%ecx)
403f9e:	75 04                	jne    0x403fa4
403fa0:	33 c9                	xor    %ecx,%ecx
403fa2:	eb 21                	jmp    0x403fc5
403fa4:	51                   	push   %ecx
403fa5:	8d 55 fc             	lea    -0x4(%ebp),%edx
403fa8:	e8 25 f0 ff ff       	call   0x402fd2
403fad:	8b f8                	mov    %eax,%edi
403faf:	85 ff                	test   %edi,%edi
403fb1:	75 4a                	jne    0x403ffd
403fb3:	8b 75 fc             	mov    -0x4(%ebp),%esi
403fb6:	8b ce                	mov    %esi,%ecx
403fb8:	8d 51 01             	lea    0x1(%ecx),%edx
403fbb:	8a 01                	mov    (%ecx),%al
403fbd:	41                   	inc    %ecx
403fbe:	84 c0                	test   %al,%al
403fc0:	75 f9                	jne    0x403fbb
403fc2:	2b ca                	sub    %edx,%ecx
403fc4:	41                   	inc    %ecx
403fc5:	8b 43 0c             	mov    0xc(%ebx),%eax
403fc8:	6a 2a                	push   $0x2a
403fca:	5a                   	pop    %edx
403fcb:	0f b7 00             	movzwl (%eax),%eax
403fce:	66 3b c2             	cmp    %dx,%ax
403fd1:	74 0e                	je     0x403fe1
403fd3:	83 f8 74             	cmp    $0x74,%eax
403fd6:	74 09                	je     0x403fe1
403fd8:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
403fdc:	83 f8 54             	cmp    $0x54,%eax
403fdf:	75 04                	jne    0x403fe5
403fe1:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
403fe5:	ff 75 fc             	push   -0x4(%ebp)
403fe8:	56                   	push   %esi
403fe9:	51                   	push   %ecx
403fea:	ff 15 50 f0 40 00    	call   *0x40f050
403ff0:	8b f8                	mov    %eax,%edi
403ff2:	85 f6                	test   %esi,%esi
403ff4:	74 07                	je     0x403ffd
403ff6:	56                   	push   %esi
403ff7:	ff 15 b0 f0 40 00    	call   *0x40f0b0
403ffd:	8b c7                	mov    %edi,%eax
403fff:	5f                   	pop    %edi
404000:	5e                   	pop    %esi
404001:	5b                   	pop    %ebx
404002:	c9                   	leave
404003:	c3                   	ret
404004:	8b ff                	mov    %edi,%edi
404006:	55                   	push   %ebp
404007:	8b ec                	mov    %esp,%ebp
404009:	83 ec 0c             	sub    $0xc,%esp
40400c:	56                   	push   %esi
40400d:	33 f6                	xor    %esi,%esi
40400f:	8b c2                	mov    %edx,%eax
404011:	89 45 f4             	mov    %eax,-0xc(%ebp)
404014:	89 75 f8             	mov    %esi,-0x8(%ebp)
404017:	83 f9 03             	cmp    $0x3,%ecx
40401a:	74 0f                	je     0x40402b
40401c:	6a 1b                	push   $0x1b
40401e:	59                   	pop    %ecx
40401f:	e8 3b ea ff ff       	call   0x402a5f
404024:	33 c0                	xor    %eax,%eax
404026:	e9 85 00 00 00       	jmp    0x4040b0
40402b:	8b 48 08             	mov    0x8(%eax),%ecx
40402e:	53                   	push   %ebx
40402f:	57                   	push   %edi
404030:	0f b7 01             	movzwl (%ecx),%eax
404033:	83 f8 2a             	cmp    $0x2a,%eax
404036:	75 04                	jne    0x40403c
404038:	8b fe                	mov    %esi,%edi
40403a:	eb 53                	jmp    0x40408f
40403c:	83 f8 30             	cmp    $0x30,%eax
40403f:	75 27                	jne    0x404068
404041:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
404045:	83 f8 58             	cmp    $0x58,%eax
404048:	74 05                	je     0x40404f
40404a:	83 f8 78             	cmp    $0x78,%eax
40404d:	75 19                	jne    0x404068
40404f:	8d 45 f8             	lea    -0x8(%ebp),%eax
404052:	83 c1 04             	add    $0x4,%ecx
404055:	50                   	push   %eax
404056:	8d 55 fc             	lea    -0x4(%ebp),%edx
404059:	e8 6a fb ff ff       	call   0x403bc8
40405e:	8b 75 f8             	mov    -0x8(%ebp),%esi
404061:	8b d8                	mov    %eax,%ebx
404063:	8b 7d fc             	mov    -0x4(%ebp),%edi
404066:	eb 23                	jmp    0x40408b
404068:	51                   	push   %ecx
404069:	8d 55 fc             	lea    -0x4(%ebp),%edx
40406c:	89 75 fc             	mov    %esi,-0x4(%ebp)
40406f:	e8 5e ef ff ff       	call   0x402fd2
404074:	8b d8                	mov    %eax,%ebx
404076:	85 db                	test   %ebx,%ebx
404078:	75 32                	jne    0x4040ac
40407a:	8b 7d fc             	mov    -0x4(%ebp),%edi
40407d:	8b f7                	mov    %edi,%esi
40407f:	8d 4e 01             	lea    0x1(%esi),%ecx
404082:	8a 06                	mov    (%esi),%al
404084:	46                   	inc    %esi
404085:	84 c0                	test   %al,%al
404087:	75 f9                	jne    0x404082
404089:	2b f1                	sub    %ecx,%esi
40408b:	85 db                	test   %ebx,%ebx
40408d:	75 1d                	jne    0x4040ac
40408f:	57                   	push   %edi
404090:	56                   	push   %esi
404091:	ff 15 3c f0 40 00    	call   *0x40f03c
404097:	8b d8                	mov    %eax,%ebx
404099:	85 ff                	test   %edi,%edi
40409b:	74 0f                	je     0x4040ac
40409d:	8b 45 f4             	mov    -0xc(%ebp),%eax
4040a0:	3b 78 08             	cmp    0x8(%eax),%edi
4040a3:	74 07                	je     0x4040ac
4040a5:	57                   	push   %edi
4040a6:	ff 15 b0 f0 40 00    	call   *0x40f0b0
4040ac:	5f                   	pop    %edi
4040ad:	8b c3                	mov    %ebx,%eax
4040af:	5b                   	pop    %ebx
4040b0:	5e                   	pop    %esi
4040b1:	c9                   	leave
4040b2:	c3                   	ret
4040b3:	8b ff                	mov    %edi,%edi
4040b5:	55                   	push   %ebp
4040b6:	8b ec                	mov    %esp,%ebp
4040b8:	83 ec 48             	sub    $0x48,%esp
4040bb:	a1 04 a0 40 00       	mov    0x40a004,%eax
4040c0:	33 c5                	xor    %ebp,%eax
4040c2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4040c5:	53                   	push   %ebx
4040c6:	56                   	push   %esi
4040c7:	6a 40                	push   $0x40
4040c9:	33 db                	xor    %ebx,%ebx
4040cb:	8d 45 bc             	lea    -0x44(%ebp),%eax
4040ce:	53                   	push   %ebx
4040cf:	50                   	push   %eax
4040d0:	e8 0f 50 00 00       	call   0x4090e4
4040d5:	83 c4 0c             	add    $0xc,%esp
4040d8:	89 5d b8             	mov    %ebx,-0x48(%ebp)
4040db:	8d 45 b8             	lea    -0x48(%ebp),%eax
4040de:	53                   	push   %ebx
4040df:	50                   	push   %eax
4040e0:	ff 15 90 f0 40 00    	call   *0x40f090
4040e6:	8b f0                	mov    %eax,%esi
4040e8:	83 fe 7a             	cmp    $0x7a,%esi
4040eb:	75 60                	jne    0x40414d
4040ed:	8b 45 b8             	mov    -0x48(%ebp),%eax
4040f0:	57                   	push   %edi
4040f1:	03 c0                	add    %eax,%eax
4040f3:	50                   	push   %eax
4040f4:	ff 15 a4 f0 40 00    	call   *0x40f0a4
4040fa:	8b f8                	mov    %eax,%edi
4040fc:	85 ff                	test   %edi,%edi
4040fe:	74 49                	je     0x404149
404100:	57                   	push   %edi
404101:	8d 45 b8             	lea    -0x48(%ebp),%eax
404104:	50                   	push   %eax
404105:	ff 15 90 f0 40 00    	call   *0x40f090
40410b:	8b f0                	mov    %eax,%esi
40410d:	85 f6                	test   %esi,%esi
40410f:	75 3b                	jne    0x40414c
404111:	6a 20                	push   $0x20
404113:	8d 45 bc             	lea    -0x44(%ebp),%eax
404116:	50                   	push   %eax
404117:	68 83 04 00 00       	push   $0x483
40411c:	53                   	push   %ebx
40411d:	ff 15 20 f1 40 00    	call   *0x40f120
404123:	85 c0                	test   %eax,%eax
404125:	75 04                	jne    0x40412b
404127:	66 89 45 bc          	mov    %ax,-0x44(%ebp)
40412b:	ff 75 b8             	push   -0x48(%ebp)
40412e:	ba e0 11 40 00       	mov    $0x4011e0,%edx
404133:	8d 4d bc             	lea    -0x44(%ebp),%ecx
404136:	57                   	push   %edi
404137:	e8 a2 f3 ff ff       	call   0x4034de
40413c:	68 c4 13 40 00       	push   $0x4013c4
404141:	e8 74 e7 ff ff       	call   0x4028ba
404146:	59                   	pop    %ecx
404147:	eb 03                	jmp    0x40414c
404149:	6a 08                	push   $0x8
40414b:	5e                   	pop    %esi
40414c:	5f                   	pop    %edi
40414d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404150:	8b c6                	mov    %esi,%eax
404152:	5e                   	pop    %esi
404153:	33 cd                	xor    %ebp,%ecx
404155:	5b                   	pop    %ebx
404156:	e8 75 49 00 00       	call   0x408ad0
40415b:	c9                   	leave
40415c:	c3                   	ret
40415d:	8b ff                	mov    %edi,%edi
40415f:	55                   	push   %ebp
404160:	8b ec                	mov    %esp,%ebp
404162:	81 ec 4c 02 00 00    	sub    $0x24c,%esp
404168:	a1 04 a0 40 00       	mov    0x40a004,%eax
40416d:	33 c5                	xor    %ebp,%eax
40416f:	89 45 fc             	mov    %eax,-0x4(%ebp)
404172:	53                   	push   %ebx
404173:	56                   	push   %esi
404174:	57                   	push   %edi
404175:	6a 04                	push   $0x4
404177:	8b f9                	mov    %ecx,%edi
404179:	8b f2                	mov    %edx,%esi
40417b:	5b                   	pop    %ebx
40417c:	3b fb                	cmp    %ebx,%edi
40417e:	7d 0f                	jge    0x40418f
404180:	6a 29                	push   $0x29
404182:	59                   	pop    %ecx
404183:	e8 d7 e8 ff ff       	call   0x402a5f
404188:	33 c0                	xor    %eax,%eax
40418a:	e9 3d 01 00 00       	jmp    0x4042cc
40418f:	8b 46 08             	mov    0x8(%esi),%eax
404192:	89 85 bc fd ff ff    	mov    %eax,-0x244(%ebp)
404198:	8b 46 0c             	mov    0xc(%esi),%eax
40419b:	6a 2a                	push   $0x2a
40419d:	89 85 b8 fd ff ff    	mov    %eax,-0x248(%ebp)
4041a3:	c7 85 c4 fd ff ff 20 	movl   $0x20,-0x23c(%ebp)
4041aa:	00 00 00
4041ad:	58                   	pop    %eax
4041ae:	7e 12                	jle    0x4041c2
4041b0:	8b 4e 10             	mov    0x10(%esi),%ecx
4041b3:	66 39 01             	cmp    %ax,(%ecx)
4041b6:	74 0a                	je     0x4041c2
4041b8:	e8 b9 fa ff ff       	call   0x403c76
4041bd:	6a 2a                	push   $0x2a
4041bf:	8b d8                	mov    %eax,%ebx
4041c1:	58                   	pop    %eax
4041c2:	83 ff 05             	cmp    $0x5,%edi
4041c5:	7e 13                	jle    0x4041da
4041c7:	8b 4e 14             	mov    0x14(%esi),%ecx
4041ca:	66 39 01             	cmp    %ax,(%ecx)
4041cd:	74 0b                	je     0x4041da
4041cf:	e8 a2 fa ff ff       	call   0x403c76
4041d4:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
4041da:	83 ff 06             	cmp    $0x6,%edi
4041dd:	7e 14                	jle    0x4041f3
4041df:	8b 4e 18             	mov    0x18(%esi),%ecx
4041e2:	6a 2a                	push   $0x2a
4041e4:	58                   	pop    %eax
4041e5:	66 39 01             	cmp    %ax,(%ecx)
4041e8:	74 09                	je     0x4041f3
4041ea:	e8 87 fa ff ff       	call   0x403c76
4041ef:	8b f8                	mov    %eax,%edi
4041f1:	eb 05                	jmp    0x4041f8
4041f3:	bf 88 13 00 00       	mov    $0x1388,%edi
4041f8:	8b 8d b8 fd ff ff    	mov    -0x248(%ebp),%ecx
4041fe:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
404204:	50                   	push   %eax
404205:	e8 9b 44 00 00       	call   0x4086a5
40420a:	8b f0                	mov    %eax,%esi
40420c:	85 f6                	test   %esi,%esi
40420e:	0f 85 b6 00 00 00    	jne    0x4042ca
404214:	8b 85 c4 fd ff ff    	mov    -0x23c(%ebp),%eax
40421a:	21 b5 c0 fd ff ff    	and    %esi,-0x240(%ebp)
404220:	6a 08                	push   $0x8
404222:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
404228:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
40422e:	50                   	push   %eax
40422f:	8d 85 c0 fd ff ff    	lea    -0x240(%ebp),%eax
404235:	89 9d c8 fd ff ff    	mov    %ebx,-0x238(%ebp)
40423b:	50                   	push   %eax
40423c:	68 30 02 00 00       	push   $0x230
404241:	8d 85 c8 fd ff ff    	lea    -0x238(%ebp),%eax
404247:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
40424d:	50                   	push   %eax
40424e:	6a 0a                	push   $0xa
404250:	ff b5 bc fd ff ff    	push   -0x244(%ebp)
404256:	56                   	push   %esi
404257:	68 3c 24 40 00       	push   $0x40243c
40425c:	ff 15 a0 f0 40 00    	call   *0x40f0a0
404262:	8b f0                	mov    %eax,%esi
404264:	85 f6                	test   %esi,%esi
404266:	75 35                	jne    0x40429d
404268:	8b 85 c0 fd ff ff    	mov    -0x240(%ebp),%eax
40426e:	8b 30                	mov    (%eax),%esi
404270:	85 f6                	test   %esi,%esi
404272:	75 1e                	jne    0x404292
404274:	ff 70 04             	push   0x4(%eax)
404277:	57                   	push   %edi
404278:	ff b5 c4 fd ff ff    	push   -0x23c(%ebp)
40427e:	53                   	push   %ebx
40427f:	68 3f 04 00 00       	push   $0x43f
404284:	e8 06 e7 ff ff       	call   0x40298f
404289:	8b 85 c0 fd ff ff    	mov    -0x240(%ebp),%eax
40428f:	83 c4 14             	add    $0x14,%esp
404292:	50                   	push   %eax
404293:	ff 15 b0 f0 40 00    	call   *0x40f0b0
404299:	85 f6                	test   %esi,%esi
40429b:	74 22                	je     0x4042bf
40429d:	68 28 16 40 00       	push   $0x401628
4042a2:	ff b5 bc fd ff ff    	push   -0x244(%ebp)
4042a8:	ff 15 e8 f1 40 00    	call   *0x40f1e8
4042ae:	59                   	pop    %ecx
4042af:	59                   	pop    %ecx
4042b0:	85 c0                	test   %eax,%eax
4042b2:	75 0b                	jne    0x4042bf
4042b4:	68 40 04 00 00       	push   $0x440
4042b9:	e8 d1 e6 ff ff       	call   0x40298f
4042be:	59                   	pop    %ecx
4042bf:	81 fe 68 10 00 00    	cmp    $0x1068,%esi
4042c5:	75 03                	jne    0x4042ca
4042c7:	6a 32                	push   $0x32
4042c9:	5e                   	pop    %esi
4042ca:	8b c6                	mov    %esi,%eax
4042cc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4042cf:	5f                   	pop    %edi
4042d0:	5e                   	pop    %esi
4042d1:	33 cd                	xor    %ebp,%ecx
4042d3:	5b                   	pop    %ebx
4042d4:	e8 f7 47 00 00       	call   0x408ad0
4042d9:	c9                   	leave
4042da:	c3                   	ret
4042db:	cc                   	int3
4042dc:	cc                   	int3
4042dd:	cc                   	int3
4042de:	cc                   	int3
4042df:	cc                   	int3
4042e0:	8b ff                	mov    %edi,%edi
4042e2:	55                   	push   %ebp
4042e3:	8b ec                	mov    %esp,%ebp
4042e5:	83 ec 10             	sub    $0x10,%esp
4042e8:	53                   	push   %ebx
4042e9:	56                   	push   %esi
4042ea:	57                   	push   %edi
4042eb:	8b 7d 14             	mov    0x14(%ebp),%edi
4042ee:	8b 4f 40             	mov    0x40(%edi),%ecx