409e0b:	68 4d 10 00 00       	push   $0x104d
409e10:	ff 74 24 28          	push   0x28(%esp)
409e14:	89 9c 24 a8 00 00 00 	mov    %ebx,0xa8(%esp)
409e1b:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409e21:	33 c9                	xor    %ecx,%ecx
409e23:	8b f1                	mov    %ecx,%esi
409e25:	47                   	inc    %edi
409e26:	83 c3 04             	add    $0x4,%ebx
409e29:	83 ff 29             	cmp    $0x29,%edi
409e2c:	72 c8                	jb     0x409df6
409e2e:	8b 4c 24 20          	mov    0x20(%esp),%ecx
409e32:	33 c0                	xor    %eax,%eax
409e34:	85 f6                	test   %esi,%esi
409e36:	89 74 24 10          	mov    %esi,0x10(%esp)
409e3a:	0f 94 c0             	sete   %al
409e3d:	50                   	push   %eax
409e3e:	68 ed 03 00 00       	push   $0x3ed
409e43:	e8 24 2e 00 00       	call   0x40cc6c
409e48:	8b 4c 24 20          	mov    0x20(%esp),%ecx
409e4c:	8b c6                	mov    %esi,%eax
409e4e:	50                   	push   %eax
409e4f:	6a 01                	push   $0x1
409e51:	e8 16 2e 00 00       	call   0x40cc6c
409e56:	8b 7c 24 24          	mov    0x24(%esp),%edi
409e5a:	ff 74 24 14          	push   0x14(%esp)
409e5e:	ff 15 54 b1 41 00    	call   *0x41b154
409e64:	57                   	push   %edi
409e65:	ff 15 24 b3 41 00    	call   *0x41b324
409e6b:	59                   	pop    %ecx
409e6c:	8b 8c 24 dc 06 00 00 	mov    0x6dc(%esp),%ecx
409e73:	5f                   	pop    %edi
409e74:	5e                   	pop    %esi
409e75:	5b                   	pop    %ebx
409e76:	33 cc                	xor    %esp,%ecx
409e78:	e8 63 9a 00 00       	call   0x4138e0
409e7d:	8b e5                	mov    %ebp,%esp
409e7f:	5d                   	pop    %ebp
409e80:	c3                   	ret
409e81:	cc                   	int3
409e82:	cc                   	int3
409e83:	cc                   	int3
409e84:	cc                   	int3
409e85:	cc                   	int3
409e86:	cc                   	int3
409e87:	cc                   	int3
409e88:	cc                   	int3
409e89:	cc                   	int3
409e8a:	cc                   	int3
409e8b:	cc                   	int3
409e8c:	cc                   	int3
409e8d:	cc                   	int3
409e8e:	cc                   	int3
409e8f:	cc                   	int3
409e90:	8b ff                	mov    %edi,%edi
409e92:	55                   	push   %ebp
409e93:	8b ec                	mov    %esp,%ebp
409e95:	81 ec 84 00 00 00    	sub    $0x84,%esp
409e9b:	a1 18 51 41 00       	mov    0x415118,%eax
409ea0:	33 c5                	xor    %ebp,%eax
409ea2:	89 45 fc             	mov    %eax,-0x4(%ebp)
409ea5:	53                   	push   %ebx
409ea6:	56                   	push   %esi
409ea7:	57                   	push   %edi
409ea8:	8b f9                	mov    %ecx,%edi
409eaa:	68 03 04 00 00       	push   $0x403
409eaf:	ff 77 04             	push   0x4(%edi)
409eb2:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409eb8:	6a f0                	push   $0xfffffff0
409eba:	50                   	push   %eax
409ebb:	89 47 0c             	mov    %eax,0xc(%edi)
409ebe:	ff 15 20 b2 41 00    	call   *0x41b220
409ec4:	85 c0                	test   %eax,%eax
409ec6:	74 11                	je     0x409ed9
409ec8:	25 ff fb ff ff       	and    $0xfffffbff,%eax
409ecd:	50                   	push   %eax
409ece:	6a f0                	push   $0xfffffff0
409ed0:	ff 77 0c             	push   0xc(%edi)
409ed3:	ff 15 24 b2 41 00    	call   *0x41b224
409ed9:	6a 21                	push   $0x21
409edb:	6a 21                	push   $0x21
409edd:	68 36 10 00 00       	push   $0x1036
409ee2:	ff 77 0c             	push   0xc(%edi)
409ee5:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409eeb:	8b 0d 80 93 41 00    	mov    0x419380,%ecx
409ef1:	b8 10 52 41 00       	mov    $0x415210,%eax
409ef6:	85 08                	test   %ecx,(%eax)
409ef8:	74 03                	je     0x409efd
409efa:	ff 47 10             	incl   0x10(%edi)
409efd:	83 c0 3c             	add    $0x3c,%eax
409f00:	3d c0 56 41 00       	cmp    $0x4156c0,%eax
409f05:	7c ef                	jl     0x409ef6
409f07:	6a 2c                	push   $0x2c
409f09:	33 f6                	xor    %esi,%esi
409f0b:	8d 45 b8             	lea    -0x48(%ebp),%eax
409f0e:	56                   	push   %esi
409f0f:	50                   	push   %eax
409f10:	e8 4c a2 00 00       	call   0x414161
409f15:	83 c4 0c             	add    $0xc,%esp
409f18:	8d 45 ec             	lea    -0x14(%ebp),%eax
409f1b:	50                   	push   %eax
409f1c:	ff 77 0c             	push   0xc(%edi)
409f1f:	ff 15 28 b2 41 00    	call   *0x41b228
409f25:	8b 45 f4             	mov    -0xc(%ebp),%eax
409f28:	2b 45 ec             	sub    -0x14(%ebp),%eax
409f2b:	56                   	push   %esi
409f2c:	56                   	push   %esi
409f2d:	68 28 10 00 00       	push   $0x1028
409f32:	ff 77 0c             	push   0xc(%edi)
409f35:	c7 45 b8 06 00 00 00 	movl   $0x6,-0x48(%ebp)
409f3c:	89 45 c0             	mov    %eax,-0x40(%ebp)
409f3f:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409f45:	3b 47 10             	cmp    0x10(%edi),%eax
409f48:	7d 1d                	jge    0x409f67
409f4a:	6a 02                	push   $0x2
409f4c:	ff 15 fc b1 41 00    	call   *0x41b1fc
409f52:	8b f0                	mov    %eax,%esi
409f54:	e8 1c 5e 00 00       	call   0x40fd75
409f59:	0f af c6             	imul   %esi,%eax
409f5c:	6a a0                	push   $0xffffffa0
409f5e:	59                   	pop    %ecx
409f5f:	99                   	cltd
409f60:	f7 f9                	idiv   %ecx
409f62:	01 45 c0             	add    %eax,-0x40(%ebp)
409f65:	33 f6                	xor    %esi,%esi
409f67:	e8 0e 5a 00 00       	call   0x40f97a
409f6c:	b9 09 04 00 00       	mov    $0x409,%ecx
409f71:	66 3b c8             	cmp    %ax,%cx
409f74:	8b 45 c0             	mov    -0x40(%ebp),%eax
409f77:	6a 03                	push   $0x3
409f79:	5b                   	pop    %ebx
409f7a:	99                   	cltd
409f7b:	75 06                	jne    0x409f83
409f7d:	2b c2                	sub    %edx,%eax
409f7f:	d1 f8                	sar    $1,%eax
409f81:	eb 02                	jmp    0x409f85
409f83:	f7 fb                	idiv   %ebx
409f85:	6a 58                	push   $0x58
409f87:	8d 55 c4             	lea    -0x3c(%ebp),%edx
409f8a:	89 45 c0             	mov    %eax,-0x40(%ebp)
409f8d:	59                   	pop    %ecx
409f8e:	e8 52 5a 00 00       	call   0x40f9e5
409f93:	bb 61 10 00 00       	mov    $0x1061,%ebx
409f98:	85 c0                	test   %eax,%eax
409f9a:	74 22                	je     0x409fbe
409f9c:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
409fa0:	74 1c                	je     0x409fbe
409fa2:	8d 45 b8             	lea    -0x48(%ebp),%eax
409fa5:	50                   	push   %eax
409fa6:	56                   	push   %esi
409fa7:	53                   	push   %ebx
409fa8:	ff 77 0c             	push   0xc(%edi)
409fab:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409fb1:	ff 75 c4             	push   -0x3c(%ebp)
409fb4:	ff 15 24 b3 41 00    	call   *0x41b324
409fba:	59                   	pop    %ecx
409fbb:	89 75 c4             	mov    %esi,-0x3c(%ebp)
409fbe:	e8 b7 59 00 00       	call   0x40f97a
409fc3:	b9 09 04 00 00       	mov    $0x409,%ecx
409fc8:	66 3b c8             	cmp    %ax,%cx
409fcb:	74 03                	je     0x409fd0
409fcd:	d1 65 c0             	shll   $1,-0x40(%ebp)
409fd0:	6a 59                	push   $0x59
409fd2:	8d 55 c4             	lea    -0x3c(%ebp),%edx
409fd5:	59                   	pop    %ecx
409fd6:	e8 0a 5a 00 00       	call   0x40f9e5
409fdb:	85 c0                	test   %eax,%eax
409fdd:	74 20                	je     0x409fff
409fdf:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
409fe3:	74 1a                	je     0x409fff
409fe5:	8d 45 b8             	lea    -0x48(%ebp),%eax
409fe8:	50                   	push   %eax
409fe9:	6a 01                	push   $0x1
409feb:	53                   	push   %ebx
409fec:	ff 77 0c             	push   0xc(%edi)
409fef:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409ff5:	ff 75 c4             	push   -0x3c(%ebp)
409ff8:	ff 15 24 b3 41 00    	call   *0x41b324
409ffe:	59                   	pop    %ecx
409fff:	8b de                	mov    %esi,%ebx
40a001:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40a004:	be e8 51 41 00       	mov    $0x4151e8,%esi
40a009:	a1 80 93 41 00       	mov    0x419380,%eax
40a00e:	85 46 28             	test   %eax,0x28(%esi)
40a011:	74 58                	je     0x40a06b
40a013:	8b 0e                	mov    (%esi),%ecx
40a015:	8d 55 e8             	lea    -0x18(%ebp),%edx
40a018:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40a01c:	83 65 84 00          	andl   $0x0,-0x7c(%ebp)
40a020:	c7 85 7c ff ff ff 05 	movl   $0x5,-0x84(%ebp)
40a027:	00 00 00
40a02a:	e8 b6 59 00 00       	call   0x40f9e5
40a02f:	85 c0                	test   %eax,%eax
40a031:	74 38                	je     0x40a06b
40a033:	8b 45 e8             	mov    -0x18(%ebp),%eax
40a036:	85 c0                	test   %eax,%eax
40a038:	74 31                	je     0x40a06b
40a03a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40a03d:	89 45 90             	mov    %eax,-0x70(%ebp)
40a040:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
40a046:	50                   	push   %eax
40a047:	6a 00                	push   $0x0
40a049:	68 4d 10 00 00       	push   $0x104d
40a04e:	89 5e fc             	mov    %ebx,-0x4(%esi)
40a051:	ff 77 0c             	push   0xc(%edi)
40a054:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
40a057:	89 5d 80             	mov    %ebx,-0x80(%ebp)
40a05a:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a060:	ff 75 e8             	push   -0x18(%ebp)
40a063:	43                   	inc    %ebx
40a064:	ff 15 24 b3 41 00    	call   *0x41b324
40a06a:	59                   	pop    %ecx
40a06b:	ff 45 e4             	incl   -0x1c(%ebp)
40a06e:	83 c6 3c             	add    $0x3c,%esi
40a071:	81 fe 98 56 41 00    	cmp    $0x415698,%esi
40a077:	7c 90                	jl     0x40a009
40a079:	8b cf                	mov    %edi,%ecx
40a07b:	e8 d2 07 00 00       	call   0x40a852
40a080:	33 db                	xor    %ebx,%ebx
40a082:	53                   	push   %ebx
40a083:	53                   	push   %ebx
40a084:	68 43 10 00 00       	push   $0x1043
40a089:	ff 77 0c             	push   0xc(%edi)
40a08c:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a092:	6a 03                	push   $0x3
40a094:	58                   	pop    %eax
40a095:	89 45 8c             	mov    %eax,-0x74(%ebp)
40a098:	89 45 88             	mov    %eax,-0x78(%ebp)
40a09b:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
40a0a1:	50                   	push   %eax
40a0a2:	53                   	push   %ebx
40a0a3:	68 2b 10 00 00       	push   $0x102b
40a0a8:	ff 77 0c             	push   0xc(%edi)
40a0ab:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a0b1:	6a ff                	push   $0xffffffff
40a0b3:	8b cf                	mov    %edi,%ecx
40a0b5:	e8 2f 0d 00 00       	call   0x40ade9
40a0ba:	53                   	push   %ebx
40a0bb:	68 54 04 00 00       	push   $0x454
40a0c0:	8b cf                	mov    %edi,%ecx
40a0c2:	e8 35 2c 00 00       	call   0x40ccfc
40a0c7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a0ca:	5f                   	pop    %edi
40a0cb:	5e                   	pop    %esi
40a0cc:	33 cd                	xor    %ebp,%ecx
40a0ce:	5b                   	pop    %ebx
40a0cf:	e8 0c 98 00 00       	call   0x4138e0
40a0d4:	c9                   	leave
40a0d5:	c2 04 00             	ret    $0x4
40a0d8:	cc                   	int3
40a0d9:	cc                   	int3
40a0da:	cc                   	int3
40a0db:	cc                   	int3
40a0dc:	cc                   	int3
40a0dd:	cc                   	int3
40a0de:	cc                   	int3
40a0df:	cc                   	int3
40a0e0:	8b ff                	mov    %edi,%edi
40a0e2:	55                   	push   %ebp
40a0e3:	8b ec                	mov    %esp,%ebp
40a0e5:	83 ec 44             	sub    $0x44,%esp
40a0e8:	8b 45 08             	mov    0x8(%ebp),%eax
40a0eb:	53                   	push   %ebx
40a0ec:	56                   	push   %esi
40a0ed:	57                   	push   %edi
40a0ee:	33 db                	xor    %ebx,%ebx
40a0f0:	8b f9                	mov    %ecx,%edi
40a0f2:	53                   	push   %ebx
40a0f3:	53                   	push   %ebx
40a0f4:	0f b7 c8             	movzwl %ax,%ecx
40a0f7:	68 42 10 00 00       	push   $0x1042
40a0fc:	ff 77 0c             	push   0xc(%edi)
40a0ff:	c1 e8 10             	shr    $0x10,%eax
40a102:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40a105:	89 45 08             	mov    %eax,0x8(%ebp)
40a108:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a10e:	6a 3c                	push   $0x3c
40a110:	8b f0                	mov    %eax,%esi
40a112:	8d 45 bc             	lea    -0x44(%ebp),%eax
40a115:	53                   	push   %ebx
40a116:	50                   	push   %eax
40a117:	e8 45 a0 00 00       	call   0x414161
40a11c:	83 c4 0c             	add    $0xc,%esp
40a11f:	89 75 c0             	mov    %esi,-0x40(%ebp)
40a122:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40a125:	6a 04                	push   $0x4
40a127:	5a                   	pop    %edx
40a128:	89 55 bc             	mov    %edx,-0x44(%ebp)
40a12b:	83 fe ff             	cmp    $0xffffffff,%esi
40a12e:	74 20                	je     0x40a150
40a130:	8d 45 bc             	lea    -0x44(%ebp),%eax
40a133:	50                   	push   %eax
40a134:	53                   	push   %ebx
40a135:	68 4b 10 00 00       	push   $0x104b
40a13a:	ff 77 0c             	push   0xc(%edi)
40a13d:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a143:	85 c0                	test   %eax,%eax
40a145:	75 06                	jne    0x40a14d
40a147:	40                   	inc    %eax
40a148:	e9 9c 02 00 00       	jmp    0x40a3e9
40a14d:	6a 04                	push   $0x4
40a14f:	5a                   	pop    %edx
40a150:	8b 45 f8             	mov    -0x8(%ebp),%eax
40a153:	b9 4e 04 00 00       	mov    $0x44e,%ecx
40a158:	0f b7 c0             	movzwl %ax,%eax
40a15b:	3b c1                	cmp    %ecx,%eax
40a15d:	0f 87 10 02 00 00    	ja     0x40a373
40a163:	0f 84 f5 01 00 00    	je     0x40a35e
40a169:	2d f3 03 00 00       	sub    $0x3f3,%eax
40a16e:	0f 84 c2 01 00 00    	je     0x40a336
40a174:	83 e8 0f             	sub    $0xf,%eax
40a177:	74 32                	je     0x40a1ab
40a179:	83 e8 4a             	sub    $0x4a,%eax
40a17c:	74 1f                	je     0x40a19d
40a17e:	83 e8 01             	sub    $0x1,%eax
40a181:	0f 85 00 02 00 00    	jne    0x40a387
40a187:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a18a:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a18d:	c7 80 08 52 41 00 01 	movl   $0x1,0x415208(%eax)
40a194:	00 00 00
40a197:	51                   	push   %ecx
40a198:	e9 43 02 00 00       	jmp    0x40a3e0
40a19d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a1a0:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a1a3:	89 98 08 52 41 00    	mov    %ebx,0x415208(%eax)
40a1a9:	eb ec                	jmp    0x40a197
40a1ab:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a1ae:	83 e8 06             	sub    $0x6,%eax
40a1b1:	0f 84 8b 00 00 00    	je     0x40a242
40a1b7:	83 e8 01             	sub    $0x1,%eax
40a1ba:	0f 85 27 02 00 00    	jne    0x40a3e7
40a1c0:	66 3b 45 08          	cmp    0x8(%ebp),%ax
40a1c4:	0f 85 1d 02 00 00    	jne    0x40a3e7
40a1ca:	6a 14                	push   $0x14
40a1cc:	e8 c6 91 00 00       	call   0x413397
40a1d1:	8b f0                	mov    %eax,%esi
40a1d3:	8d 47 18             	lea    0x18(%edi),%eax
40a1d6:	89 75 fc             	mov    %esi,-0x4(%ebp)
40a1d9:	59                   	pop    %ecx
40a1da:	85 f6                	test   %esi,%esi
40a1dc:	74 1b                	je     0x40a1f9
40a1de:	33 c9                	xor    %ecx,%ecx
40a1e0:	89 5e 04             	mov    %ebx,0x4(%esi)
40a1e3:	66 89 4e 08          	mov    %cx,0x8(%esi)
40a1e7:	c7 06 80 17 40 00    	movl   $0x401780,(%esi)
40a1ed:	89 46 0c             	mov    %eax,0xc(%esi)
40a1f0:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
40a1f7:	eb 05                	jmp    0x40a1fe
40a1f9:	8b f3                	mov    %ebx,%esi
40a1fb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40a1fe:	85 f6                	test   %esi,%esi