402d52:	03 c3                	add    %ebx,%eax
402d54:	51                   	push   %ecx
402d55:	50                   	push   %eax
402d56:	8b 45 0c             	mov    0xc(%ebp),%eax
402d59:	03 45 08             	add    0x8(%ebp),%eax
402d5c:	50                   	push   %eax
402d5d:	e8 3e 29 00 00       	call   0x4056a0
402d62:	e9 13 02 00 00       	jmp    0x402f7a
402d67:	8b 5d 0c             	mov    0xc(%ebp),%ebx
402d6a:	3b cb                	cmp    %ebx,%ecx
402d6c:	77 6b                	ja     0x402dd9
402d6e:	5f                   	pop    %edi
402d6f:	39 7e 14             	cmp    %edi,0x14(%esi)
402d72:	72 04                	jb     0x402d78
402d74:	8b 06                	mov    (%esi),%eax
402d76:	eb 02                	jmp    0x402d7a
402d78:	8b c6                	mov    %esi,%eax
402d7a:	39 7e 14             	cmp    %edi,0x14(%esi)
402d7d:	72 04                	jb     0x402d83
402d7f:	8b 1e                	mov    (%esi),%ebx
402d81:	eb 02                	jmp    0x402d85
402d83:	8b de                	mov    %esi,%ebx
402d85:	85 c9                	test   %ecx,%ecx
402d87:	74 14                	je     0x402d9d
402d89:	03 45 14             	add    0x14(%ebp),%eax
402d8c:	51                   	push   %ecx
402d8d:	50                   	push   %eax
402d8e:	8d 04 13             	lea    (%ebx,%edx,1),%eax
402d91:	50                   	push   %eax
402d92:	e8 b9 19 00 00       	call   0x404750
402d97:	8b 4d 18             	mov    0x18(%ebp),%ecx
402d9a:	83 c4 0c             	add    $0xc,%esp
402d9d:	39 7e 14             	cmp    %edi,0x14(%esi)
402da0:	72 07                	jb     0x402da9
402da2:	8b 06                	mov    (%esi),%eax
402da4:	89 45 18             	mov    %eax,0x18(%ebp)
402da7:	eb 03                	jmp    0x402dac
402da9:	89 75 18             	mov    %esi,0x18(%ebp)
402dac:	39 7e 14             	cmp    %edi,0x14(%esi)
402daf:	72 04                	jb     0x402db5
402db1:	8b 1e                	mov    (%esi),%ebx
402db3:	eb 02                	jmp    0x402db7
402db5:	8b de                	mov    %esi,%ebx
402db7:	8b 45 fc             	mov    -0x4(%ebp),%eax
402dba:	85 c0                	test   %eax,%eax
402dbc:	0f 84 bb 01 00 00    	je     0x402f7d
402dc2:	8b 55 08             	mov    0x8(%ebp),%edx
402dc5:	50                   	push   %eax
402dc6:	8b 45 18             	mov    0x18(%ebp),%eax
402dc9:	03 c2                	add    %edx,%eax
402dcb:	03 45 0c             	add    0xc(%ebp),%eax
402dce:	50                   	push   %eax
402dcf:	8d 04 13             	lea    (%ebx,%edx,1),%eax
402dd2:	03 c1                	add    %ecx,%eax
402dd4:	e9 9b 01 00 00       	jmp    0x402f74
402dd9:	8b 7d 14             	mov    0x14(%ebp),%edi
402ddc:	3b fa                	cmp    %edx,%edi
402dde:	77 73                	ja     0x402e53
402de0:	5f                   	pop    %edi
402de1:	39 7e 14             	cmp    %edi,0x14(%esi)
402de4:	72 0a                	jb     0x402df0
402de6:	8b 1e                	mov    (%esi),%ebx
402de8:	89 5d 10             	mov    %ebx,0x10(%ebp)
402deb:	8b 5d 0c             	mov    0xc(%ebp),%ebx
402dee:	eb 03                	jmp    0x402df3
402df0:	89 75 10             	mov    %esi,0x10(%ebp)
402df3:	39 7e 14             	cmp    %edi,0x14(%esi)
402df6:	72 0a                	jb     0x402e02
402df8:	8b 0e                	mov    (%esi),%ecx
402dfa:	89 4d 0c             	mov    %ecx,0xc(%ebp)
402dfd:	8b 4d 18             	mov    0x18(%ebp),%ecx
402e00:	eb 03                	jmp    0x402e05
402e02:	89 75 0c             	mov    %esi,0xc(%ebp)
402e05:	85 c0                	test   %eax,%eax
402e07:	74 1f                	je     0x402e28
402e09:	50                   	push   %eax
402e0a:	8b 45 10             	mov    0x10(%ebp),%eax
402e0d:	03 c2                	add    %edx,%eax
402e0f:	03 c3                	add    %ebx,%eax
402e11:	50                   	push   %eax
402e12:	8b 45 0c             	mov    0xc(%ebp),%eax
402e15:	03 c2                	add    %edx,%eax
402e17:	03 c1                	add    %ecx,%eax
402e19:	50                   	push   %eax
402e1a:	e8 31 19 00 00       	call   0x404750
402e1f:	8b 4d 18             	mov    0x18(%ebp),%ecx
402e22:	8b 55 08             	mov    0x8(%ebp),%edx
402e25:	83 c4 0c             	add    $0xc,%esp
402e28:	39 7e 14             	cmp    %edi,0x14(%esi)
402e2b:	72 04                	jb     0x402e31
402e2d:	8b 06                	mov    (%esi),%eax
402e2f:	eb 02                	jmp    0x402e33
402e31:	8b c6                	mov    %esi,%eax
402e33:	39 7e 14             	cmp    %edi,0x14(%esi)
402e36:	72 04                	jb     0x402e3c
402e38:	8b 1e                	mov    (%esi),%ebx
402e3a:	eb 02                	jmp    0x402e3e
402e3c:	8b de                	mov    %esi,%ebx
402e3e:	85 c9                	test   %ecx,%ecx
402e40:	0f 84 37 01 00 00    	je     0x402f7d
402e46:	03 45 14             	add    0x14(%ebp),%eax
402e49:	51                   	push   %ecx
402e4a:	50                   	push   %eax
402e4b:	8d 04 13             	lea    (%ebx,%edx,1),%eax
402e4e:	e9 21 01 00 00       	jmp    0x402f74
402e53:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
402e56:	3b c7                	cmp    %edi,%eax
402e58:	5f                   	pop    %edi
402e59:	77 6c                	ja     0x402ec7
402e5b:	39 7e 14             	cmp    %edi,0x14(%esi)
402e5e:	72 07                	jb     0x402e67
402e60:	8b 06                	mov    (%esi),%eax
402e62:	89 45 10             	mov    %eax,0x10(%ebp)
402e65:	eb 03                	jmp    0x402e6a
402e67:	89 75 10             	mov    %esi,0x10(%ebp)
402e6a:	39 7e 14             	cmp    %edi,0x14(%esi)
402e6d:	72 07                	jb     0x402e76
402e6f:	8b 06                	mov    (%esi),%eax
402e71:	89 45 f8             	mov    %eax,-0x8(%ebp)
402e74:	eb 03                	jmp    0x402e79
402e76:	89 75 f8             	mov    %esi,-0x8(%ebp)
402e79:	8b 45 fc             	mov    -0x4(%ebp),%eax
402e7c:	85 c0                	test   %eax,%eax
402e7e:	74 1f                	je     0x402e9f
402e80:	50                   	push   %eax
402e81:	8b 45 10             	mov    0x10(%ebp),%eax
402e84:	03 c2                	add    %edx,%eax
402e86:	03 c3                	add    %ebx,%eax
402e88:	50                   	push   %eax
402e89:	8b 45 f8             	mov    -0x8(%ebp),%eax
402e8c:	03 c2                	add    %edx,%eax
402e8e:	03 c1                	add    %ecx,%eax
402e90:	50                   	push   %eax
402e91:	e8 ba 18 00 00       	call   0x404750
402e96:	8b 4d 18             	mov    0x18(%ebp),%ecx
402e99:	8b 55 08             	mov    0x8(%ebp),%edx
402e9c:	83 c4 0c             	add    $0xc,%esp
402e9f:	39 7e 14             	cmp    %edi,0x14(%esi)
402ea2:	72 04                	jb     0x402ea8
402ea4:	8b 06                	mov    (%esi),%eax
402ea6:	eb 02                	jmp    0x402eaa
402ea8:	8b c6                	mov    %esi,%eax
402eaa:	39 7e 14             	cmp    %edi,0x14(%esi)
402ead:	72 04                	jb     0x402eb3
402eaf:	8b 1e                	mov    (%esi),%ebx
402eb1:	eb 02                	jmp    0x402eb5
402eb3:	8b de                	mov    %esi,%ebx
402eb5:	85 c9                	test   %ecx,%ecx
402eb7:	0f 84 c0 00 00 00    	je     0x402f7d
402ebd:	2b 45 0c             	sub    0xc(%ebp),%eax
402ec0:	03 45 14             	add    0x14(%ebp),%eax
402ec3:	03 c1                	add    %ecx,%eax
402ec5:	eb 82                	jmp    0x402e49
402ec7:	39 7e 14             	cmp    %edi,0x14(%esi)
402eca:	72 07                	jb     0x402ed3
402ecc:	8b 06                	mov    (%esi),%eax
402ece:	89 45 10             	mov    %eax,0x10(%ebp)
402ed1:	eb 03                	jmp    0x402ed6
402ed3:	89 75 10             	mov    %esi,0x10(%ebp)
402ed6:	39 7e 14             	cmp    %edi,0x14(%esi)
402ed9:	72 07                	jb     0x402ee2
402edb:	8b 06                	mov    (%esi),%eax
402edd:	89 45 f8             	mov    %eax,-0x8(%ebp)
402ee0:	eb 03                	jmp    0x402ee5
402ee2:	89 75 f8             	mov    %esi,-0x8(%ebp)
402ee5:	85 db                	test   %ebx,%ebx
402ee7:	74 1c                	je     0x402f05
402ee9:	8b 45 10             	mov    0x10(%ebp),%eax
402eec:	03 45 14             	add    0x14(%ebp),%eax
402eef:	53                   	push   %ebx
402ef0:	50                   	push   %eax
402ef1:	8b 45 f8             	mov    -0x8(%ebp),%eax
402ef4:	03 c2                	add    %edx,%eax
402ef6:	50                   	push   %eax
402ef7:	e8 54 18 00 00       	call   0x404750
402efc:	8b 4d 18             	mov    0x18(%ebp),%ecx
402eff:	8b 55 08             	mov    0x8(%ebp),%edx
402f02:	83 c4 0c             	add    $0xc,%esp
402f05:	39 7e 14             	cmp    %edi,0x14(%esi)
402f08:	72 07                	jb     0x402f11
402f0a:	8b 06                	mov    (%esi),%eax
402f0c:	89 45 10             	mov    %eax,0x10(%ebp)
402f0f:	eb 03                	jmp    0x402f14
402f11:	89 75 10             	mov    %esi,0x10(%ebp)
402f14:	39 7e 14             	cmp    %edi,0x14(%esi)
402f17:	72 07                	jb     0x402f20
402f19:	8b 06                	mov    (%esi),%eax
402f1b:	89 45 f8             	mov    %eax,-0x8(%ebp)
402f1e:	eb 03                	jmp    0x402f23
402f20:	89 75 f8             	mov    %esi,-0x8(%ebp)
402f23:	8b 45 fc             	mov    -0x4(%ebp),%eax
402f26:	85 c0                	test   %eax,%eax
402f28:	74 19                	je     0x402f43
402f2a:	50                   	push   %eax
402f2b:	8b 45 10             	mov    0x10(%ebp),%eax
402f2e:	03 c2                	add    %edx,%eax
402f30:	03 c3                	add    %ebx,%eax
402f32:	50                   	push   %eax
402f33:	8b 45 f8             	mov    -0x8(%ebp),%eax
402f36:	03 c2                	add    %edx,%eax
402f38:	03 c1                	add    %ecx,%eax
402f3a:	50                   	push   %eax
402f3b:	e8 10 18 00 00       	call   0x404750
402f40:	83 c4 0c             	add    $0xc,%esp
402f43:	39 7e 14             	cmp    %edi,0x14(%esi)
402f46:	72 04                	jb     0x402f4c
402f48:	8b 16                	mov    (%esi),%edx
402f4a:	eb 02                	jmp    0x402f4e
402f4c:	8b d6                	mov    %esi,%edx
402f4e:	39 7e 14             	cmp    %edi,0x14(%esi)
402f51:	72 04                	jb     0x402f57
402f53:	8b 1e                	mov    (%esi),%ebx
402f55:	eb 02                	jmp    0x402f59
402f57:	8b de                	mov    %esi,%ebx
402f59:	8b 4d 18             	mov    0x18(%ebp),%ecx
402f5c:	8b c1                	mov    %ecx,%eax
402f5e:	2b 45 0c             	sub    0xc(%ebp),%eax
402f61:	74 1a                	je     0x402f7d
402f63:	50                   	push   %eax
402f64:	8b 45 14             	mov    0x14(%ebp),%eax
402f67:	03 c2                	add    %edx,%eax
402f69:	03 c1                	add    %ecx,%eax
402f6b:	50                   	push   %eax
402f6c:	8b 45 08             	mov    0x8(%ebp),%eax
402f6f:	03 c3                	add    %ebx,%eax
402f71:	03 45 0c             	add    0xc(%ebp),%eax
402f74:	50                   	push   %eax
402f75:	e8 d6 17 00 00       	call   0x404750
402f7a:	83 c4 0c             	add    $0xc,%esp
402f7d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402f80:	89 4e 10             	mov    %ecx,0x10(%esi)
402f83:	5b                   	pop    %ebx
402f84:	39 7e 14             	cmp    %edi,0x14(%esi)
402f87:	72 04                	jb     0x402f8d
402f89:	8b 06                	mov    (%esi),%eax
402f8b:	eb 02                	jmp    0x402f8f
402f8d:	8b c6                	mov    %esi,%eax
402f8f:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
402f93:	5f                   	pop    %edi
402f94:	8b c6                	mov    %esi,%eax
402f96:	5e                   	pop    %esi
402f97:	c9                   	leave
402f98:	c2 14 00             	ret    $0x14
402f9b:	68 f8 d3 41 00       	push   $0x41d3f8
402fa0:	e8 b5 04 00 00       	call   0x40345a
402fa5:	68 e0 d3 41 00       	push   $0x41d3e0
402faa:	e8 d9 04 00 00       	call   0x403488
402faf:	cc                   	int3
402fb0:	55                   	push   %ebp
402fb1:	8b ec                	mov    %esp,%ebp
402fb3:	8b 55 10             	mov    0x10(%ebp),%edx
402fb6:	56                   	push   %esi
402fb7:	8b f1                	mov    %ecx,%esi
402fb9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402fbc:	85 d2                	test   %edx,%edx
402fbe:	75 09                	jne    0x402fc9
402fc0:	3b 4e 10             	cmp    0x10(%esi),%ecx
402fc3:	77 04                	ja     0x402fc9
402fc5:	8b c1                	mov    %ecx,%eax
402fc7:	eb 7b                	jmp    0x403044
402fc9:	53                   	push   %ebx
402fca:	57                   	push   %edi
402fcb:	8b 7e 10             	mov    0x10(%esi),%edi
402fce:	3b cf                	cmp    %edi,%ecx
402fd0:	73 6d                	jae    0x40303f
402fd2:	2b f9                	sub    %ecx,%edi
402fd4:	3b d7                	cmp    %edi,%edx
402fd6:	77 67                	ja     0x40303f
402fd8:	33 c0                	xor    %eax,%eax
402fda:	40                   	inc    %eax
402fdb:	2b c2                	sub    %edx,%eax
402fdd:	03 f8                	add    %eax,%edi
402fdf:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
402fe3:	72 04                	jb     0x402fe9
402fe5:	8b 06                	mov    (%esi),%eax
402fe7:	eb 02                	jmp    0x402feb
402fe9:	8b c6                	mov    %esi,%eax
402feb:	03 c8                	add    %eax,%ecx
402fed:	89 4d 0c             	mov    %ecx,0xc(%ebp)
402ff0:	85 ff                	test   %edi,%edi
402ff2:	74 4b                	je     0x40303f
402ff4:	8b 45 08             	mov    0x8(%ebp),%eax
402ff7:	57                   	push   %edi
402ff8:	0f be 00             	movsbl (%eax),%eax
402ffb:	50                   	push   %eax
402ffc:	51                   	push   %ecx
402ffd:	e8 4e 21 00 00       	call   0x405150
403002:	8b d8                	mov    %eax,%ebx
403004:	83 c4 0c             	add    $0xc,%esp
403007:	85 db                	test   %ebx,%ebx
403009:	74 34                	je     0x40303f
40300b:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40300f:	74 20                	je     0x403031
403011:	ff 75 10             	push   0x10(%ebp)
403014:	ff 75 08             	push   0x8(%ebp)
403017:	53                   	push   %ebx
403018:	e8 bb 5e 00 00       	call   0x408ed8
40301d:	83 c4 0c             	add    $0xc,%esp
403020:	85 c0                	test   %eax,%eax
403022:	74 0d                	je     0x403031
403024:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403027:	2b cb                	sub    %ebx,%ecx
403029:	49                   	dec    %ecx
40302a:	03 f9                	add    %ecx,%edi
40302c:	8d 4b 01             	lea    0x1(%ebx),%ecx
40302f:	eb bc                	jmp    0x402fed
403031:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
403035:	72 02                	jb     0x403039
403037:	8b 36                	mov    (%esi),%esi
403039:	2b de                	sub    %esi,%ebx
40303b:	8b c3                	mov    %ebx,%eax
40303d:	eb 03                	jmp    0x403042
40303f:	83 c8 ff             	or     $0xffffffff,%eax
403042:	5f                   	pop    %edi
403043:	5b                   	pop    %ebx
403044:	5e                   	pop    %esi
403045:	5d                   	pop    %ebp
403046:	c2 0c 00             	ret    $0xc
403049:	55                   	push   %ebp
40304a:	8b ec                	mov    %esp,%ebp
40304c:	56                   	push   %esi
40304d:	8b f1                	mov    %ecx,%esi
40304f:	e8 c2 f6 ff ff       	call   0x402716
403054:	8b 45 08             	mov    0x8(%ebp),%eax
403057:	83 66 3c 00          	andl   $0x0,0x3c(%esi)
40305b:	6a 20                	push   $0x20
40305d:	8b ce                	mov    %esi,%ecx
40305f:	89 46 38             	mov    %eax,0x38(%esi)
403062:	e8 7c 00 00 00       	call   0x4030e3
403067:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
40306b:	88 46 40             	mov    %al,0x40(%esi)
40306e:	75 13                	jne    0x403083
403070:	8b 46 0c             	mov    0xc(%esi),%eax
403073:	83 c8 04             	or     $0x4,%eax
403076:	6a 00                	push   $0x0
403078:	83 c8 04             	or     $0x4,%eax
40307b:	50                   	push   %eax
40307c:	8b ce                	mov    %esi,%ecx
40307e:	e8 e3 e5 ff ff       	call   0x401666
403083:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
403087:	74 07                	je     0x403090
403089:	56                   	push   %esi
40308a:	e8 09 12 00 00       	call   0x404298
40308f:	59                   	pop    %ecx
403090:	5e                   	pop    %esi
403091:	5d                   	pop    %ebp
403092:	c2 08 00             	ret    $0x8
403095:	8b 51 08             	mov    0x8(%ecx),%edx
403098:	56                   	push   %esi
403099:	8b 71 04             	mov    0x4(%ecx),%esi