475e08:	8d 7e f4             	lea    -0xc(%esi),%edi
475e0b:	e8 33 ff ff ff       	call   0x475d43
475e10:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
475e14:	56                   	push   %esi
475e15:	c7 06 04 12 40 00    	movl   $0x401204,(%esi)
475e1b:	e8 d9 7c 01 00       	call   0x48daf9
475e20:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
475e24:	59                   	pop    %ecx
475e25:	74 08                	je     0x475e2f
475e27:	57                   	push   %edi
475e28:	ff 15 10 74 4a 00    	call   *0x4a7410
475e2e:	59                   	pop    %ecx
475e2f:	8b c7                	mov    %edi,%eax
475e31:	8b 4d f4             	mov    -0xc(%ebp),%ecx
475e34:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
475e3b:	59                   	pop    %ecx
475e3c:	5f                   	pop    %edi
475e3d:	5e                   	pop    %esi
475e3e:	c9                   	leave
475e3f:	c2 04 00             	ret    $0x4
475e42:	6a 34                	push   $0x34
475e44:	b8 08 61 49 00       	mov    $0x496108,%eax
475e49:	e8 24 a7 01 00       	call   0x490572
475e4e:	8b f9                	mov    %ecx,%edi
475e50:	8b 45 10             	mov    0x10(%ebp),%eax
475e53:	8d 4d d0             	lea    -0x30(%ebp),%ecx
475e56:	50                   	push   %eax
475e57:	89 7d cc             	mov    %edi,-0x34(%ebp)
475e5a:	e8 bf 41 fa ff       	call   0x41a01e
475e5f:	33 f6                	xor    %esi,%esi
475e61:	89 75 fc             	mov    %esi,-0x4(%ebp)
475e64:	39 77 04             	cmp    %esi,0x4(%edi)
475e67:	75 0b                	jne    0x475e74
475e69:	8b de                	mov    %esi,%ebx
475e6b:	c7 45 c4 1c 00 00 00 	movl   $0x1c,-0x3c(%ebp)
475e72:	eb 11                	jmp    0x475e85
475e74:	8b 47 0c             	mov    0xc(%edi),%eax
475e77:	2b 47 04             	sub    0x4(%edi),%eax
475e7a:	6a 1c                	push   $0x1c
475e7c:	5b                   	pop    %ebx
475e7d:	99                   	cltd
475e7e:	f7 fb                	idiv   %ebx
475e80:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
475e83:	8b d8                	mov    %eax,%ebx
475e85:	8b cf                	mov    %edi,%ecx
475e87:	e8 3e fe ff ff       	call   0x475cca
475e8c:	b9 49 92 24 09       	mov    $0x9249249,%ecx
475e91:	2b c8                	sub    %eax,%ecx
475e93:	83 f9 01             	cmp    $0x1,%ecx
475e96:	0f 82 d4 01 00 00    	jb     0x476070
475e9c:	8d 50 01             	lea    0x1(%eax),%edx
475e9f:	3b da                	cmp    %edx,%ebx
475ea1:	0f 83 cb 00 00 00    	jae    0x475f72
475ea7:	8b c3                	mov    %ebx,%eax
475ea9:	b9 49 92 24 09       	mov    $0x9249249,%ecx
475eae:	d1 e8                	shr    $1,%eax
475eb0:	2b c8                	sub    %eax,%ecx
475eb2:	03 c3                	add    %ebx,%eax
475eb4:	3b cb                	cmp    %ebx,%ecx
475eb6:	1b c9                	sbb    %ecx,%ecx
475eb8:	f7 d1                	not    %ecx
475eba:	23 c8                	and    %eax,%ecx
475ebc:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
475ebf:	3b ca                	cmp    %edx,%ecx
475ec1:	73 05                	jae    0x475ec8
475ec3:	8b ca                	mov    %edx,%ecx
475ec5:	89 55 c4             	mov    %edx,-0x3c(%ebp)
475ec8:	51                   	push   %ecx
475ec9:	e8 e8 01 00 00       	call   0x4760b6
475ece:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
475ed2:	ff 75 cc             	push   -0x34(%ebp)
475ed5:	8b 55 08             	mov    0x8(%ebp),%edx
475ed8:	ff 75 cc             	push   -0x34(%ebp)
475edb:	89 45 c0             	mov    %eax,-0x40(%ebp)
475ede:	51                   	push   %ecx
475edf:	8b 4f 04             	mov    0x4(%edi),%ecx
475ee2:	50                   	push   %eax
475ee3:	89 45 c8             	mov    %eax,-0x38(%ebp)
475ee6:	e8 d0 03 00 00       	call   0x4762bb
475eeb:	ff 75 cc             	push   -0x34(%ebp)
475eee:	33 d2                	xor    %edx,%edx
475ef0:	89 45 c8             	mov    %eax,-0x38(%ebp)
475ef3:	ff 75 cc             	push   -0x34(%ebp)
475ef6:	42                   	inc    %edx
475ef7:	8d 58 1c             	lea    0x1c(%eax),%ebx
475efa:	51                   	push   %ecx
475efb:	8d 4d d0             	lea    -0x30(%ebp),%ecx
475efe:	51                   	push   %ecx
475eff:	8b c8                	mov    %eax,%ecx
475f01:	e8 5a 03 00 00       	call   0x476260
475f06:	ff 75 cc             	push   -0x34(%ebp)
475f09:	8b 57 08             	mov    0x8(%edi),%edx
475f0c:	ff 75 cc             	push   -0x34(%ebp)
475f0f:	89 5d c8             	mov    %ebx,-0x38(%ebp)
475f12:	51                   	push   %ecx
475f13:	8b 4d 08             	mov    0x8(%ebp),%ecx
475f16:	53                   	push   %ebx
475f17:	e8 9f 03 00 00       	call   0x4762bb
475f1c:	8b cf                	mov    %edi,%ecx
475f1e:	e8 a7 fd ff ff       	call   0x475cca
475f23:	8b 5f 04             	mov    0x4(%edi),%ebx
475f26:	40                   	inc    %eax
475f27:	89 45 cc             	mov    %eax,-0x34(%ebp)
475f2a:	85 db                	test   %ebx,%ebx
475f2c:	74 27                	je     0x475f55
475f2e:	8b 47 08             	mov    0x8(%edi),%eax
475f31:	89 45 c8             	mov    %eax,-0x38(%ebp)
475f34:	3b d8                	cmp    %eax,%ebx
475f36:	74 15                	je     0x475f4d
475f38:	56                   	push   %esi
475f39:	6a 01                	push   $0x1
475f3b:	8b cb                	mov    %ebx,%ecx
475f3d:	e8 82 68 fa ff       	call   0x41c7c4
475f42:	83 c3 1c             	add    $0x1c,%ebx
475f45:	3b 5d c8             	cmp    -0x38(%ebp),%ebx
475f48:	75 ee                	jne    0x475f38
475f4a:	8b 5f 04             	mov    0x4(%edi),%ebx
475f4d:	53                   	push   %ebx
475f4e:	ff 15 10 74 4a 00    	call   *0x4a7410
475f54:	59                   	pop    %ecx
475f55:	6b 45 c4 1c          	imul   $0x1c,-0x3c(%ebp),%eax
475f59:	8b 4d c0             	mov    -0x40(%ebp),%ecx
475f5c:	89 4f 04             	mov    %ecx,0x4(%edi)
475f5f:	03 c1                	add    %ecx,%eax
475f61:	89 47 0c             	mov    %eax,0xc(%edi)
475f64:	6b 45 cc 1c          	imul   $0x1c,-0x34(%ebp),%eax
475f68:	03 c1                	add    %ecx,%eax
475f6a:	89 47 08             	mov    %eax,0x8(%edi)
475f6d:	e9 eb 00 00 00       	jmp    0x47605d
475f72:	8b 5f 08             	mov    0x8(%edi),%ebx
475f75:	8b c3                	mov    %ebx,%eax
475f77:	8b 4d 08             	mov    0x8(%ebp),%ecx
475f7a:	2b c1                	sub    %ecx,%eax
475f7c:	99                   	cltd
475f7d:	f7 7d c4             	idivl  -0x3c(%ebp)
475f80:	ff 75 cc             	push   -0x34(%ebp)
475f83:	89 5d c8             	mov    %ebx,-0x38(%ebp)
475f86:	ff 75 cc             	push   -0x34(%ebp)
475f89:	51                   	push   %ecx
475f8a:	83 f8 01             	cmp    $0x1,%eax
475f8d:	73 7b                	jae    0x47600a
475f8f:	8d 41 1c             	lea    0x1c(%ecx),%eax
475f92:	8b d3                	mov    %ebx,%edx
475f94:	50                   	push   %eax
475f95:	e8 21 03 00 00       	call   0x4762bb
475f9a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
475f9e:	8b 4f 08             	mov    0x8(%edi),%ecx
475fa1:	8b c1                	mov    %ecx,%eax
475fa3:	2b 45 08             	sub    0x8(%ebp),%eax
475fa6:	6a 1c                	push   $0x1c
475fa8:	5b                   	pop    %ebx
475fa9:	99                   	cltd
475faa:	f7 fb                	idiv   %ebx
475fac:	ff 75 cc             	push   -0x34(%ebp)
475faf:	33 d2                	xor    %edx,%edx
475fb1:	ff 75 cc             	push   -0x34(%ebp)
475fb4:	42                   	inc    %edx
475fb5:	2b d0                	sub    %eax,%edx
475fb7:	8d 45 d0             	lea    -0x30(%ebp),%eax
475fba:	51                   	push   %ecx
475fbb:	50                   	push   %eax
475fbc:	e8 9f 02 00 00       	call   0x476260
475fc1:	89 75 fc             	mov    %esi,-0x4(%ebp)
475fc4:	8b 4f 08             	mov    0x8(%edi),%ecx
475fc7:	89 4d cc             	mov    %ecx,-0x34(%ebp)
475fca:	8d 41 1c             	lea    0x1c(%ecx),%eax
475fcd:	89 47 08             	mov    %eax,0x8(%edi)
475fd0:	8b 7d 08             	mov    0x8(%ebp),%edi
475fd3:	3b f9                	cmp    %ecx,%edi
475fd5:	0f 84 82 00 00 00    	je     0x47605d
475fdb:	6a ff                	push   $0xffffffff
475fdd:	56                   	push   %esi
475fde:	8d 45 d0             	lea    -0x30(%ebp),%eax
475fe1:	8b cf                	mov    %edi,%ecx
475fe3:	50                   	push   %eax
475fe4:	e8 22 67 fa ff       	call   0x41c70b
475fe9:	03 fb                	add    %ebx,%edi
475feb:	3b 7d cc             	cmp    -0x34(%ebp),%edi
475fee:	75 eb                	jne    0x475fdb
475ff0:	eb 6b                	jmp    0x47605d
475ff2:	8b 45 cc             	mov    -0x34(%ebp),%eax
475ff5:	8b 40 08             	mov    0x8(%eax),%eax
475ff8:	83 c0 1c             	add    $0x1c,%eax
475ffb:	50                   	push   %eax
475ffc:	8b 45 08             	mov    0x8(%ebp),%eax
475fff:	83 c0 1c             	add    $0x1c,%eax
476002:	50                   	push   %eax
476003:	e8 8b 00 00 00       	call   0x476093
476008:	eb 7f                	jmp    0x476089
47600a:	8b 55 c8             	mov    -0x38(%ebp),%edx
47600d:	83 c3 e4             	add    $0xffffffe4,%ebx
476010:	52                   	push   %edx
476011:	8b cb                	mov    %ebx,%ecx
476013:	e8 a3 02 00 00       	call   0x4762bb
476018:	89 47 08             	mov    %eax,0x8(%edi)
47601b:	8b 7d 08             	mov    0x8(%ebp),%edi
47601e:	3b df                	cmp    %edi,%ebx
476020:	74 21                	je     0x476043
476022:	8b 45 c8             	mov    -0x38(%ebp),%eax
476025:	2b c3                	sub    %ebx,%eax
476027:	89 45 c8             	mov    %eax,-0x38(%ebp)
47602a:	83 eb 1c             	sub    $0x1c,%ebx
47602d:	6a ff                	push   $0xffffffff
47602f:	56                   	push   %esi
476030:	53                   	push   %ebx
476031:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
476034:	e8 d2 66 fa ff       	call   0x41c70b
476039:	8b 45 c8             	mov    -0x38(%ebp),%eax
47603c:	3b df                	cmp    %edi,%ebx
47603e:	75 ea                	jne    0x47602a
476040:	8b 7d 08             	mov    0x8(%ebp),%edi
476043:	8d 5f 1c             	lea    0x1c(%edi),%ebx
476046:	eb 11                	jmp    0x476059
476048:	6a ff                	push   $0xffffffff
47604a:	56                   	push   %esi
47604b:	8d 45 d0             	lea    -0x30(%ebp),%eax
47604e:	8b cf                	mov    %edi,%ecx
476050:	50                   	push   %eax
476051:	e8 b5 66 fa ff       	call   0x41c70b
476056:	83 c7 1c             	add    $0x1c,%edi
476059:	3b fb                	cmp    %ebx,%edi
47605b:	75 eb                	jne    0x476048
47605d:	56                   	push   %esi
47605e:	6a 01                	push   $0x1
476060:	8d 4d d0             	lea    -0x30(%ebp),%ecx
476063:	e8 5c 67 fa ff       	call   0x41c7c4
476068:	e8 57 a4 01 00       	call   0x4904c4
47606d:	c2 0c 00             	ret    $0xc
476070:	e8 bd 78 fa ff       	call   0x41d932
476075:	ff 75 c8             	push   -0x38(%ebp)
476078:	ff 75 c0             	push   -0x40(%ebp)
47607b:	e8 13 00 00 00       	call   0x476093
476080:	51                   	push   %ecx
476081:	ff 75 c0             	push   -0x40(%ebp)
476084:	e8 26 79 fa ff       	call   0x41d9af
476089:	33 f6                	xor    %esi,%esi
47608b:	56                   	push   %esi
47608c:	56                   	push   %esi
47608d:	e8 09 a4 01 00       	call   0x49049b
476092:	cc                   	int3
476093:	8b ff                	mov    %edi,%edi
476095:	55                   	push   %ebp
476096:	8b ec                	mov    %esp,%ebp
476098:	56                   	push   %esi
476099:	8b 75 08             	mov    0x8(%ebp),%esi
47609c:	eb 0e                	jmp    0x4760ac
47609e:	6a 00                	push   $0x0
4760a0:	6a 01                	push   $0x1
4760a2:	8b ce                	mov    %esi,%ecx
4760a4:	e8 1b 67 fa ff       	call   0x41c7c4
4760a9:	83 c6 1c             	add    $0x1c,%esi
4760ac:	3b 75 0c             	cmp    0xc(%ebp),%esi
4760af:	75 ed                	jne    0x47609e
4760b1:	5e                   	pop    %esi
4760b2:	5d                   	pop    %ebp
4760b3:	c2 08 00             	ret    $0x8
4760b6:	8b ff                	mov    %edi,%edi
4760b8:	55                   	push   %ebp
4760b9:	8b ec                	mov    %esp,%ebp
4760bb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4760be:	83 ec 0c             	sub    $0xc,%esp
4760c1:	85 c9                	test   %ecx,%ecx
4760c3:	75 0f                	jne    0x4760d4
4760c5:	6b c1 1c             	imul   $0x1c,%ecx,%eax
4760c8:	50                   	push   %eax
4760c9:	ff 15 14 74 4a 00    	call   *0x4a7414
4760cf:	59                   	pop    %ecx
4760d0:	c9                   	leave
4760d1:	c2 04 00             	ret    $0x4
4760d4:	83 c8 ff             	or     $0xffffffff,%eax
4760d7:	33 d2                	xor    %edx,%edx
4760d9:	f7 f1                	div    %ecx
4760db:	83 f8 1c             	cmp    $0x1c,%eax
4760de:	73 e5                	jae    0x4760c5
4760e0:	6a 00                	push   $0x0
4760e2:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4760e5:	e8 e2 63 fa ff       	call   0x41c4cc
4760ea:	68 4c eb 49 00       	push   $0x49eb4c
4760ef:	8d 45 f4             	lea    -0xc(%ebp),%eax
4760f2:	50                   	push   %eax
4760f3:	e8 a3 a3 01 00       	call   0x49049b
4760f8:	cc                   	int3
4760f9:	6a 28                	push   $0x28
4760fb:	b8 3d 61 49 00       	mov    $0x49613d,%eax
476100:	e8 37 a4 01 00       	call   0x49053c
476105:	89 55 e0             	mov    %edx,-0x20(%ebp)
476108:	8b f9                	mov    %ecx,%edi
47610a:	51                   	push   %ecx
47610b:	33 db                	xor    %ebx,%ebx
47610d:	89 7d d8             	mov    %edi,-0x28(%ebp)
476110:	57                   	push   %edi
476111:	8d 4d cc             	lea    -0x34(%ebp),%ecx
476114:	88 5d ef             	mov    %bl,-0x11(%ebp)
476117:	8b f3                	mov    %ebx,%esi
476119:	e8 d3 e9 fa ff       	call   0x424af1
47611e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
476121:	38 5d d0             	cmp    %bl,-0x30(%ebp)
476124:	0f 84 02 01 00 00    	je     0x47622c
47612a:	8b 07                	mov    (%edi),%eax
47612c:	8b 48 04             	mov    0x4(%eax),%ecx
47612f:	8b 4c 39 24          	mov    0x24(%ecx,%edi,1),%ecx
476133:	8b 09                	mov    (%ecx),%ecx
476135:	89 4d e8             	mov    %ecx,-0x18(%ebp)
476138:	e8 69 57 fa ff       	call   0x41b8a6
47613d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
476140:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
476144:	e8 62 54 fa ff       	call   0x41b5ab
476149:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47614c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47614f:	88 5d fc             	mov    %bl,-0x4(%ebp)
476152:	e8 1c 5b fa ff       	call   0x41bc73
476157:	8b 4d e0             	mov    -0x20(%ebp),%ecx
47615a:	6a ff                	push   $0xffffffff
47615c:	53                   	push   %ebx
47615d:	e8 e8 62 fa ff       	call   0x41c44a
476162:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
476166:	8b 07                	mov    (%edi),%eax
476168:	8b 48 04             	mov    0x4(%eax),%ecx
47616b:	8b 44 39 18          	mov    0x18(%ecx,%edi,1),%eax
47616f:	89 45 e8             	mov    %eax,-0x18(%ebp)
476172:	85 c0                	test   %eax,%eax
476174:	7e 07                	jle    0x47617d
476176:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
47617b:	72 07                	jb     0x476184
47617d:	c7 45 e8 fe ff ff 7f 	movl   $0x7ffffffe,-0x18(%ebp)
476184:	8b 4c 39 28          	mov    0x28(%ecx,%edi,1),%ecx
476188:	e8 88 e7 fa ff       	call   0x424915
47618d:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
476191:	0f b7 c0             	movzwl %ax,%eax
476194:	8b c8                	mov    %eax,%ecx
476196:	89 4d dc             	mov    %ecx,-0x24(%ebp)
476199:	0f 86 8a 00 00 00    	jbe    0x476229
47619f:	b8 ff ff 00 00       	mov    $0xffff,%eax
4761a4:	66 3b c1             	cmp    %cx,%ax
4761a7:	75 05                	jne    0x4761ae
4761a9:	33 f6                	xor    %esi,%esi
4761ab:	46                   	inc    %esi
4761ac:	eb 7b                	jmp    0x476229
4761ae:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4761b1:	51                   	push   %ecx
4761b2:	6a 48                	push   $0x48
4761b4:	8b 00                	mov    (%eax),%eax
4761b6:	8b 70 08             	mov    0x8(%eax),%esi
4761b9:	8b ce                	mov    %esi,%ecx
4761bb:	ff 15 2c 81 4a 00    	call   *0x4a812c
4761c1:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4761c4:	ff d6                	call   *%esi
4761c6:	84 c0                	test   %al,%al
4761c8:	75 5d                	jne    0x476227
4761ca:	ff 75 dc             	push   -0x24(%ebp)