403c50:	89 45 cc             	mov    %eax,-0x34(%ebp)
403c53:	8d 45 b8             	lea    -0x48(%ebp),%eax
403c56:	50                   	push   %eax
403c57:	53                   	push   %ebx
403c58:	57                   	push   %edi
403c59:	c7 45 c0 03 00 00 00 	movl   $0x3,-0x40(%ebp)
403c60:	ff b6 60 02 00 00    	push   0x260(%esi)
403c66:	e8 87 45 00 00       	call   0x4081f2
403c6b:	ff 45 bc             	incl   -0x44(%ebp)
403c6e:	ff 45 e4             	incl   -0x1c(%ebp)
403c71:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403c74:	e9 9b fe ff ff       	jmp    0x403b14
403c79:	8b 45 bc             	mov    -0x44(%ebp),%eax
403c7c:	68 d8 a5 40 00       	push   $0x40a5d8
403c81:	89 45 a8             	mov    %eax,-0x58(%ebp)
403c84:	8d 45 a8             	lea    -0x58(%ebp),%eax
403c87:	50                   	push   %eax
403c88:	e8 a9 52 00 00       	call   0x408f36
403c8d:	33 db                	xor    %ebx,%ebx
403c8f:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
403c92:	74 09                	je     0x403c9d
403c94:	ff 75 e0             	push   -0x20(%ebp)
403c97:	ff 15 dc a0 40 00    	call   *0x40a0dc
403c9d:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
403ca0:	74 09                	je     0x403cab
403ca2:	ff 75 ec             	push   -0x14(%ebp)
403ca5:	e8 9e 52 00 00       	call   0x408f48
403caa:	59                   	pop    %ecx
403cab:	8b 75 b0             	mov    -0x50(%ebp),%esi
403cae:	8b 86 5c 02 00 00    	mov    0x25c(%esi),%eax
403cb4:	83 b8 e0 01 00 00 02 	cmpl   $0x2,0x1e0(%eax)
403cbb:	75 24                	jne    0x403ce1
403cbd:	8b 45 bc             	mov    -0x44(%ebp),%eax
403cc0:	3b 06                	cmp    (%esi),%eax
403cc2:	7f 1d                	jg     0x403ce1
403cc4:	53                   	push   %ebx
403cc5:	ff 36                	push   (%esi)
403cc7:	68 08 10 00 00       	push   $0x1008
403ccc:	ff b6 60 02 00 00    	push   0x260(%esi)
403cd2:	ff 15 dc a2 40 00    	call   *0x40a2dc
403cd8:	ff 0e                	decl   (%esi)
403cda:	8b 06                	mov    (%esi),%eax
403cdc:	39 45 bc             	cmp    %eax,-0x44(%ebp)
403cdf:	7e e3                	jle    0x403cc4
403ce1:	53                   	push   %ebx
403ce2:	6a 01                	push   $0x1
403ce4:	6a 0b                	push   $0xb
403ce6:	ff b6 60 02 00 00    	push   0x260(%esi)
403cec:	ff 15 dc a2 40 00    	call   *0x40a2dc
403cf2:	8b 45 bc             	mov    -0x44(%ebp),%eax
403cf5:	89 06                	mov    %eax,(%esi)
403cf7:	b8 fd 3c 40 00       	mov    $0x403cfd,%eax
403cfc:	c3                   	ret
403cfd:	8b 45 98             	mov    -0x68(%ebp),%eax
403d00:	eb 03                	jmp    0x403d05
403d02:	83 c8 ff             	or     $0xffffffff,%eax
403d05:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403d08:	5f                   	pop    %edi
403d09:	5e                   	pop    %esi
403d0a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403d11:	5b                   	pop    %ebx
403d12:	c9                   	leave
403d13:	c2 04 00             	ret    $0x4
403d16:	b8 58 94 40 00       	mov    $0x409458,%eax
403d1b:	e8 10 52 00 00       	call   0x408f30
403d20:	81 ec f4 03 00 00    	sub    $0x3f4,%esp
403d26:	53                   	push   %ebx
403d27:	56                   	push   %esi
403d28:	33 db                	xor    %ebx,%ebx
403d2a:	57                   	push   %edi
403d2b:	39 1d ec d7 40 00    	cmp    %ebx,0x40d7ec
403d31:	8b f1                	mov    %ecx,%esi
403d33:	89 65 f0             	mov    %esp,-0x10(%ebp)
403d36:	89 75 d8             	mov    %esi,-0x28(%ebp)
403d39:	89 5d dc             	mov    %ebx,-0x24(%ebp)
403d3c:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
403d3f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403d42:	0f 84 e0 02 00 00    	je     0x404028
403d48:	39 1d f0 d7 40 00    	cmp    %ebx,0x40d7f0
403d4e:	0f 84 d4 02 00 00    	je     0x404028
403d54:	bf 00 10 00 00       	mov    $0x1000,%edi
403d59:	89 5d ec             	mov    %ebx,-0x14(%ebp)
403d5c:	57                   	push   %edi
403d5d:	e8 ec 51 00 00       	call   0x408f4e
403d62:	3b c3                	cmp    %ebx,%eax
403d64:	59                   	pop    %ecx
403d65:	89 45 e8             	mov    %eax,-0x18(%ebp)
403d68:	75 11                	jne    0x403d7b
403d6a:	8d 45 a0             	lea    -0x60(%ebp),%eax
403d6d:	68 d8 a5 40 00       	push   $0x40a5d8
403d72:	50                   	push   %eax
403d73:	89 5d a0             	mov    %ebx,-0x60(%ebp)
403d76:	e8 bb 51 00 00       	call   0x408f36
403d7b:	8d 45 ec             	lea    -0x14(%ebp),%eax
403d7e:	50                   	push   %eax
403d7f:	57                   	push   %edi
403d80:	ff 75 e8             	push   -0x18(%ebp)
403d83:	ff 15 ec d7 40 00    	call   *0x40d7ec
403d89:	3b c3                	cmp    %ebx,%eax
403d8b:	75 11                	jne    0x403d9e
403d8d:	8d 45 94             	lea    -0x6c(%ebp),%eax
403d90:	68 d8 a5 40 00       	push   $0x40a5d8
403d95:	50                   	push   %eax
403d96:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
403d99:	e8 98 51 00 00       	call   0x408f36
403d9e:	8b 45 ec             	mov    -0x14(%ebp),%eax
403da1:	3b c7                	cmp    %edi,%eax
403da3:	76 59                	jbe    0x403dfe
403da5:	ff 75 e8             	push   -0x18(%ebp)
403da8:	e8 9b 51 00 00       	call   0x408f48
403dad:	8b 45 ec             	mov    -0x14(%ebp),%eax
403db0:	59                   	pop    %ecx
403db1:	c1 e8 02             	shr    $0x2,%eax
403db4:	8b f8                	mov    %eax,%edi
403db6:	c1 e7 02             	shl    $0x2,%edi
403db9:	57                   	push   %edi
403dba:	e8 8f 51 00 00       	call   0x408f4e
403dbf:	3b c3                	cmp    %ebx,%eax
403dc1:	59                   	pop    %ecx
403dc2:	89 45 e8             	mov    %eax,-0x18(%ebp)
403dc5:	75 11                	jne    0x403dd8
403dc7:	8d 45 90             	lea    -0x70(%ebp),%eax
403dca:	68 d8 a5 40 00       	push   $0x40a5d8
403dcf:	50                   	push   %eax
403dd0:	89 5d 90             	mov    %ebx,-0x70(%ebp)
403dd3:	e8 5e 51 00 00       	call   0x408f36
403dd8:	8d 45 ec             	lea    -0x14(%ebp),%eax
403ddb:	50                   	push   %eax
403ddc:	57                   	push   %edi
403ddd:	ff 75 e8             	push   -0x18(%ebp)
403de0:	ff 15 ec d7 40 00    	call   *0x40d7ec
403de6:	3b c3                	cmp    %ebx,%eax
403de8:	75 11                	jne    0x403dfb
403dea:	8d 45 ac             	lea    -0x54(%ebp),%eax
403ded:	68 d8 a5 40 00       	push   $0x40a5d8
403df2:	50                   	push   %eax
403df3:	89 5d ac             	mov    %ebx,-0x54(%ebp)
403df6:	e8 3b 51 00 00       	call   0x408f36
403dfb:	8b 45 ec             	mov    -0x14(%ebp),%eax
403dfe:	c1 e8 02             	shr    $0x2,%eax
403e01:	89 45 88             	mov    %eax,-0x78(%ebp)
403e04:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
403e0a:	68 04 01 00 00       	push   $0x104
403e0f:	50                   	push   %eax
403e10:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
403e13:	ff 15 54 a0 40 00    	call   *0x40a054
403e19:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
403e1f:	68 c4 c5 40 00       	push   $0x40c5c4
403e24:	50                   	push   %eax
403e25:	e8 18 51 00 00       	call   0x408f42
403e2a:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
403e30:	50                   	push   %eax
403e31:	e8 18 52 00 00       	call   0x40904e
403e36:	83 c4 0c             	add    $0xc,%esp
403e39:	8d 84 05 80 fd ff ff 	lea    -0x280(%ebp,%eax,1),%eax
403e40:	89 45 98             	mov    %eax,-0x68(%ebp)
403e43:	53                   	push   %ebx
403e44:	53                   	push   %ebx
403e45:	6a 0b                	push   $0xb
403e47:	ff b6 60 02 00 00    	push   0x260(%esi)
403e4d:	ff 15 dc a2 40 00    	call   *0x40a2dc
403e53:	bf 06 10 00 00       	mov    $0x1006,%edi
403e58:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403e5b:	3b 45 88             	cmp    -0x78(%ebp),%eax
403e5e:	0f 8d b0 01 00 00    	jge    0x404014
403e64:	8d 8d 84 fe ff ff    	lea    -0x17c(%ebp),%ecx
403e6a:	68 04 01 00 00       	push   $0x104
403e6f:	51                   	push   %ecx
403e70:	8b 4d e8             	mov    -0x18(%ebp),%ecx
403e73:	ff 34 81             	push   (%ecx,%eax,4)
403e76:	ff 15 f0 d7 40 00    	call   *0x40d7f0
403e7c:	3b c3                	cmp    %ebx,%eax
403e7e:	0f 84 88 01 00 00    	je     0x40400c
403e84:	8d 85 84 fe ff ff    	lea    -0x17c(%ebp),%eax
403e8a:	50                   	push   %eax
403e8b:	e8 be 51 00 00       	call   0x40904e
403e90:	59                   	pop    %ecx
403e91:	8d 84 05 84 fe ff ff 	lea    -0x17c(%ebp,%eax,1),%eax
403e98:	8d 8d 84 fe ff ff    	lea    -0x17c(%ebp),%ecx
403e9e:	89 45 e0             	mov    %eax,-0x20(%ebp)
403ea1:	3b c1                	cmp    %ecx,%eax
403ea3:	74 08                	je     0x403ead
403ea5:	80 38 5c             	cmpb   $0x5c,(%eax)
403ea8:	74 08                	je     0x403eb2
403eaa:	48                   	dec    %eax
403eab:	eb eb                	jmp    0x403e98
403ead:	80 38 5c             	cmpb   $0x5c,(%eax)
403eb0:	75 04                	jne    0x403eb6
403eb2:	40                   	inc    %eax
403eb3:	89 45 e0             	mov    %eax,-0x20(%ebp)
403eb6:	89 45 c4             	mov    %eax,-0x3c(%ebp)
403eb9:	8b 45 08             	mov    0x8(%ebp),%eax
403ebc:	89 45 d0             	mov    %eax,-0x30(%ebp)
403ebf:	8b 45 b4             	mov    -0x4c(%ebp),%eax
403ec2:	3b 06                	cmp    (%esi),%eax
403ec4:	8d 45 b0             	lea    -0x50(%ebp),%eax
403ec7:	50                   	push   %eax
403ec8:	89 5d b8             	mov    %ebx,-0x48(%ebp)
403ecb:	c7 45 b0 05 00 00 00 	movl   $0x5,-0x50(%ebp)
403ed2:	53                   	push   %ebx
403ed3:	7c 07                	jl     0x403edc
403ed5:	68 07 10 00 00       	push   $0x1007
403eda:	eb 01                	jmp    0x403edd
403edc:	57                   	push   %edi
403edd:	ff b6 60 02 00 00    	push   0x260(%esi)
403ee3:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403ee9:	e8 04 43 00 00       	call   0x4081f2
403eee:	8d 85 84 fe ff ff    	lea    -0x17c(%ebp),%eax
403ef4:	50                   	push   %eax
403ef5:	e8 24 4b 00 00       	call   0x408a1e
403efa:	59                   	pop    %ecx
403efb:	89 45 8c             	mov    %eax,-0x74(%ebp)
403efe:	6a 03                	push   $0x3
403f00:	8d 8d 00 fc ff ff    	lea    -0x400(%ebp),%ecx
403f06:	68 80 00 00 00       	push   $0x80
403f0b:	51                   	push   %ecx
403f0c:	50                   	push   %eax
403f0d:	e8 d6 4b 00 00       	call   0x408ae8
403f12:	83 c4 10             	add    $0x10,%esp
403f15:	3a c3                	cmp    %bl,%al
403f17:	75 50                	jne    0x403f69
403f19:	8d 85 84 fe ff ff    	lea    -0x17c(%ebp),%eax
403f1f:	39 45 e0             	cmp    %eax,-0x20(%ebp)
403f22:	75 45                	jne    0x403f69
403f24:	8d 85 84 fe ff ff    	lea    -0x17c(%ebp),%eax
403f2a:	50                   	push   %eax
403f2b:	ff 75 98             	push   -0x68(%ebp)
403f2e:	e8 15 51 00 00       	call   0x409048
403f33:	6a 03                	push   $0x3
403f35:	8d 85 00 fc ff ff    	lea    -0x400(%ebp),%eax
403f3b:	68 80 00 00 00       	push   $0x80
403f40:	50                   	push   %eax
403f41:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
403f47:	50                   	push   %eax
403f48:	e8 9b 4b 00 00       	call   0x408ae8
403f4d:	83 c4 18             	add    $0x18,%esp
403f50:	3a c3                	cmp    %bl,%al
403f52:	74 15                	je     0x403f69
403f54:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
403f5a:	50                   	push   %eax
403f5b:	8d 85 84 fe ff ff    	lea    -0x17c(%ebp),%eax
403f61:	50                   	push   %eax
403f62:	e8 e1 50 00 00       	call   0x409048
403f67:	59                   	pop    %ecx
403f68:	59                   	pop    %ecx
403f69:	8b 45 8c             	mov    -0x74(%ebp),%eax
403f6c:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403f72:	89 45 c4             	mov    %eax,-0x3c(%ebp)
403f75:	8d 45 b0             	lea    -0x50(%ebp),%eax
403f78:	50                   	push   %eax
403f79:	53                   	push   %ebx
403f7a:	57                   	push   %edi
403f7b:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
403f82:	ff b6 60 02 00 00    	push   0x260(%esi)
403f88:	c7 45 b8 04 00 00 00 	movl   $0x4,-0x48(%ebp)
403f8f:	e8 5e 42 00 00       	call   0x4081f2
403f94:	8d 85 00 fc ff ff    	lea    -0x400(%ebp),%eax
403f9a:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403fa0:	89 45 c4             	mov    %eax,-0x3c(%ebp)
403fa3:	8d 45 b0             	lea    -0x50(%ebp),%eax
403fa6:	50                   	push   %eax
403fa7:	53                   	push   %ebx
403fa8:	57                   	push   %edi
403fa9:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
403fb0:	ff b6 60 02 00 00    	push   0x260(%esi)
403fb6:	e8 37 42 00 00       	call   0x4081f2
403fbb:	8d 85 80 fc ff ff    	lea    -0x380(%ebp),%eax
403fc1:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403fc7:	89 45 c4             	mov    %eax,-0x3c(%ebp)
403fca:	8d 45 b0             	lea    -0x50(%ebp),%eax
403fcd:	50                   	push   %eax
403fce:	53                   	push   %ebx
403fcf:	57                   	push   %edi
403fd0:	c7 45 b8 02 00 00 00 	movl   $0x2,-0x48(%ebp)
403fd7:	ff b6 60 02 00 00    	push   0x260(%esi)
403fdd:	e8 10 42 00 00       	call   0x4081f2
403fe2:	8d 85 00 fd ff ff    	lea    -0x300(%ebp),%eax
403fe8:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403fee:	89 45 c4             	mov    %eax,-0x3c(%ebp)
403ff1:	8d 45 b0             	lea    -0x50(%ebp),%eax
403ff4:	50                   	push   %eax
403ff5:	53                   	push   %ebx
403ff6:	57                   	push   %edi
403ff7:	c7 45 b8 03 00 00 00 	movl   $0x3,-0x48(%ebp)
403ffe:	ff b6 60 02 00 00    	push   0x260(%esi)
404004:	e8 e9 41 00 00       	call   0x4081f2
404009:	ff 45 b4             	incl   -0x4c(%ebp)
40400c:	ff 45 e4             	incl   -0x1c(%ebp)
40400f:	e9 44 fe ff ff       	jmp    0x403e58
404014:	8b 45 b4             	mov    -0x4c(%ebp),%eax
404017:	68 d8 a5 40 00       	push   $0x40a5d8
40401c:	89 45 a8             	mov    %eax,-0x58(%ebp)
40401f:	8d 45 a8             	lea    -0x58(%ebp),%eax
404022:	50                   	push   %eax
404023:	e8 0e 4f 00 00       	call   0x408f36
404028:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40402b:	68 d8 a5 40 00       	push   $0x40a5d8
404030:	50                   	push   %eax
404031:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
404034:	e8 fd 4e 00 00       	call   0x408f36
404039:	33 db                	xor    %ebx,%ebx
40403b:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
40403e:	74 09                	je     0x404049
404040:	ff 75 dc             	push   -0x24(%ebp)
404043:	e8 00 4f 00 00       	call   0x408f48
404048:	59                   	pop    %ecx
404049:	39 5d 9c             	cmp    %ebx,-0x64(%ebp)
40404c:	75 18                	jne    0x404066
40404e:	8b 75 d8             	mov    -0x28(%ebp),%esi
404051:	53                   	push   %ebx
404052:	53                   	push   %ebx
404053:	68 09 10 00 00       	push   $0x1009
404058:	ff b6 60 02 00 00    	push   0x260(%esi)
40405e:	ff 15 dc a2 40 00    	call   *0x40a2dc
404064:	eb 03                	jmp    0x404069
404066:	8b 75 d8             	mov    -0x28(%ebp),%esi
404069:	8b 86 5c 02 00 00    	mov    0x25c(%esi),%eax
40406f:	83 b8 e0 01 00 00 02 	cmpl   $0x2,0x1e0(%eax)
404076:	75 24                	jne    0x40409c
404078:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40407b:	3b 06                	cmp    (%esi),%eax
40407d:	7f 1d                	jg     0x40409c
40407f:	53                   	push   %ebx
404080:	ff 36                	push   (%esi)
404082:	68 08 10 00 00       	push   $0x1008
404087:	ff b6 60 02 00 00    	push   0x260(%esi)
40408d:	ff 15 dc a2 40 00    	call   *0x40a2dc
404093:	ff 0e                	decl   (%esi)
404095:	8b 06                	mov    (%esi),%eax
404097:	39 45 b4             	cmp    %eax,-0x4c(%ebp)
40409a:	7e e3                	jle    0x40407f
40409c:	53                   	push   %ebx
40409d:	6a 01                	push   $0x1
40409f:	6a 0b                	push   $0xb
4040a1:	ff b6 60 02 00 00    	push   0x260(%esi)
4040a7:	ff 15 dc a2 40 00    	call   *0x40a2dc
4040ad:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4040b0:	89 06                	mov    %eax,(%esi)
4040b2:	b8 b8 40 40 00       	mov    $0x4040b8,%eax
4040b7:	c3                   	ret
4040b8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4040bb:	8b 45 9c             	mov    -0x64(%ebp),%eax
4040be:	5f                   	pop    %edi
4040bf:	5e                   	pop    %esi
4040c0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4040c7:	5b                   	pop    %ebx
4040c8:	c9                   	leave
4040c9:	c2 04 00             	ret    $0x4
4040cc:	55                   	push   %ebp
4040cd:	8b ec                	mov    %esp,%ebp