409bc5:	ff 15 84 b1 41 00    	call   *0x41b184
409bcb:	53                   	push   %ebx
409bcc:	8d 44 24 14          	lea    0x14(%esp),%eax
409bd0:	50                   	push   %eax
409bd1:	68 04 06 00 00       	push   $0x604
409bd6:	8d 44 24 7c          	lea    0x7c(%esp),%eax
409bda:	50                   	push   %eax
409bdb:	56                   	push   %esi
409bdc:	ff 15 84 b1 41 00    	call   *0x41b184
409be2:	56                   	push   %esi
409be3:	ff 15 54 b1 41 00    	call   *0x41b154
409be9:	57                   	push   %edi
409bea:	ff 15 24 b3 41 00    	call   *0x41b324
409bf0:	59                   	pop    %ecx
409bf1:	8b 8c 24 7c 06 00 00 	mov    0x67c(%esp),%ecx
409bf8:	5f                   	pop    %edi
409bf9:	5e                   	pop    %esi
409bfa:	5b                   	pop    %ebx
409bfb:	33 cc                	xor    %esp,%ecx
409bfd:	e8 de 9c 00 00       	call   0x4138e0
409c02:	8b e5                	mov    %ebp,%esp
409c04:	5d                   	pop    %ebp
409c05:	c3                   	ret
409c06:	8b ff                	mov    %edi,%edi
409c08:	55                   	push   %ebp
409c09:	8b ec                	mov    %esp,%ebp
409c0b:	83 e4 f8             	and    $0xfffffff8,%esp
409c0e:	81 ec d4 06 00 00    	sub    $0x6d4,%esp
409c14:	a1 18 51 41 00       	mov    0x415118,%eax
409c19:	33 c4                	xor    %esp,%eax
409c1b:	89 84 24 d0 06 00 00 	mov    %eax,0x6d0(%esp)
409c22:	53                   	push   %ebx
409c23:	56                   	push   %esi
409c24:	33 c0                	xor    %eax,%eax
409c26:	8b f1                	mov    %ecx,%esi
409c28:	57                   	push   %edi
409c29:	68 08 02 00 00       	push   $0x208
409c2e:	89 74 24 24          	mov    %esi,0x24(%esp)
409c32:	89 44 24 1c          	mov    %eax,0x1c(%esp)
409c36:	89 44 24 10          	mov    %eax,0x10(%esp)
409c3a:	e8 4d 99 00 00       	call   0x41358c
409c3f:	8b f8                	mov    %eax,%edi
409c41:	89 7c 24 28          	mov    %edi,0x28(%esp)
409c45:	59                   	pop    %ecx
409c46:	85 ff                	test   %edi,%edi
409c48:	0f 84 1e 02 00 00    	je     0x409e6c
409c4e:	6a 58                	push   $0x58
409c50:	5b                   	pop    %ebx
409c51:	33 c0                	xor    %eax,%eax
409c53:	53                   	push   %ebx
409c54:	50                   	push   %eax
409c55:	66 89 07             	mov    %ax,(%edi)
409c58:	8d 44 24 30          	lea    0x30(%esp),%eax
409c5c:	50                   	push   %eax
409c5d:	e8 ff a4 00 00       	call   0x414161
409c62:	8b 46 04             	mov    0x4(%esi),%eax
409c65:	8d 54 24 34          	lea    0x34(%esp),%edx
409c69:	8b 0d 6c b0 41 00    	mov    0x41b06c,%ecx
409c6f:	83 c4 0c             	add    $0xc,%esp
409c72:	89 44 24 2c          	mov    %eax,0x2c(%esp)
409c76:	8d 44 24 18          	lea    0x18(%esp),%eax
409c7a:	89 5c 24 28          	mov    %ebx,0x28(%esp)
409c7e:	c7 44 24 34 58 3a 40 	movl   $0x403a58,0x34(%esp)
409c85:	00
409c86:	50                   	push   %eax
409c87:	c7 44 24 68 88 3a 40 	movl   $0x403a88,0x68(%esp)
409c8e:	00
409c8f:	c7 44 24 60 04 18 30 	movl   $0x301804,0x60(%esp)
409c96:	00
409c97:	89 7c 24 48          	mov    %edi,0x48(%esp)
409c9b:	c7 44 24 4c 04 01 00 	movl   $0x104,0x4c(%esp)
409ca2:	00
409ca3:	e8 21 5c 00 00       	call   0x40f8c9
409ca8:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
409cad:	0f 84 b1 01 00 00    	je     0x409e64
409cb3:	f7 44 24 5c 00 04 00 	testl  $0x400,0x5c(%esp)
409cba:	00
409cbb:	0f 85 a3 01 00 00    	jne    0x409e64
409cc1:	33 db                	xor    %ebx,%ebx
409cc3:	53                   	push   %ebx
409cc4:	68 80 00 00 00       	push   $0x80
409cc9:	6a 03                	push   $0x3
409ccb:	51                   	push   %ecx
409ccc:	e8 a3 de ff ff       	call   0x407b74
409cd1:	59                   	pop    %ecx
409cd2:	50                   	push   %eax
409cd3:	53                   	push   %ebx
409cd4:	68 00 00 00 80       	push   $0x80000000
409cd9:	ff 74 24 5c          	push   0x5c(%esp)
409cdd:	ff 15 80 b1 41 00    	call   *0x41b180
409ce3:	89 44 24 14          	mov    %eax,0x14(%esp)
409ce7:	83 f8 ff             	cmp    $0xffffffff,%eax
409cea:	0f 84 74 01 00 00    	je     0x409e64
409cf0:	53                   	push   %ebx
409cf1:	8d 4c 24 10          	lea    0x10(%esp),%ecx
409cf5:	51                   	push   %ecx
409cf6:	6a 10                	push   $0x10
409cf8:	8d 8c 24 cc 00 00 00 	lea    0xcc(%esp),%ecx
409cff:	51                   	push   %ecx
409d00:	50                   	push   %eax
409d01:	ff 15 88 b1 41 00    	call   *0x41b188
409d07:	ba e4 3a 40 00       	mov    $0x403ae4,%edx
409d0c:	8b cb                	mov    %ebx,%ecx
409d0e:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
409d11:	8d 94 24 c0 00 00 00 	lea    0xc0(%esp),%edx
409d18:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
409d1b:	ba e4 3a 40 00       	mov    $0x403ae4,%edx
409d20:	75 08                	jne    0x409d2a
409d22:	41                   	inc    %ecx
409d23:	83 f9 04             	cmp    $0x4,%ecx
409d26:	75 e6                	jne    0x409d0e
409d28:	eb 20                	jmp    0x409d4a
409d2a:	8b cb                	mov    %ebx,%ecx
409d2c:	ba f4 3a 40 00       	mov    $0x403af4,%edx
409d31:	8d 9c 24 c0 00 00 00 	lea    0xc0(%esp),%ebx
409d38:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
409d3b:	3b 04 8b             	cmp    (%ebx,%ecx,4),%eax
409d3e:	0f 85 16 01 00 00    	jne    0x409e5a
409d44:	41                   	inc    %ecx
409d45:	83 f9 04             	cmp    $0x4,%ecx
409d48:	75 ee                	jne    0x409d38
409d4a:	8b 4e 14             	mov    0x14(%esi),%ecx
409d4d:	85 c9                	test   %ecx,%ecx
409d4f:	0f 84 05 01 00 00    	je     0x409e5a
409d55:	33 c0                	xor    %eax,%eax
409d57:	40                   	inc    %eax
409d58:	89 44 24 10          	mov    %eax,0x10(%esp)
409d5c:	e8 87 53 00 00       	call   0x40f0e8
409d61:	33 ff                	xor    %edi,%edi
409d63:	8d 44 24 0c          	lea    0xc(%esp),%eax
409d67:	57                   	push   %edi
409d68:	50                   	push   %eax
409d69:	68 a4 00 00 00       	push   $0xa4
409d6e:	bb 30 51 41 00       	mov    $0x415130,%ebx
409d73:	53                   	push   %ebx
409d74:	ff 74 24 24          	push   0x24(%esp)
409d78:	ff 15 88 b1 41 00    	call   *0x41b188
409d7e:	57                   	push   %edi
409d7f:	8d 44 24 10          	lea    0x10(%esp),%eax
409d83:	50                   	push   %eax
409d84:	68 04 06 00 00       	push   $0x604
409d89:	8d 84 24 dc 00 00 00 	lea    0xdc(%esp),%eax
409d90:	50                   	push   %eax
409d91:	ff 74 24 24          	push   0x24(%esp)
409d95:	ff 15 88 b1 41 00    	call   *0x41b188
409d9b:	8b 4e 14             	mov    0x14(%esi),%ecx
409d9e:	8d 84 24 d0 00 00 00 	lea    0xd0(%esp),%eax
409da5:	50                   	push   %eax
409da6:	e8 0e 59 00 00       	call   0x40f6b9
409dab:	68 ed 03 00 00       	push   $0x3ed
409db0:	ff 76 04             	push   0x4(%esi)
409db3:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409db9:	57                   	push   %edi
409dba:	57                   	push   %edi
409dbb:	68 09 10 00 00       	push   $0x1009
409dc0:	50                   	push   %eax
409dc1:	89 44 24 2c          	mov    %eax,0x2c(%esp)
409dc5:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409dcb:	6a 3c                	push   $0x3c
409dcd:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
409dd4:	57                   	push   %edi
409dd5:	50                   	push   %eax
409dd6:	e8 86 a3 00 00       	call   0x414161
409ddb:	8b 74 24 1c          	mov    0x1c(%esp),%esi
409ddf:	83 c4 0c             	add    $0xc,%esp
409de2:	c7 84 24 84 00 00 00 	movl   $0x1,0x84(%esp)
409de9:	01 00 00 00
409ded:	33 c9                	xor    %ecx,%ecx
409def:	89 bc 24 8c 00 00 00 	mov    %edi,0x8c(%esp)
409df6:	66 39 0b             	cmp    %cx,(%ebx)
409df9:	74 2a                	je     0x409e25
409dfb:	8d 84 24 84 00 00 00 	lea    0x84(%esp),%eax
409e02:	89 bc 24 88 00 00 00 	mov    %edi,0x88(%esp)
409e09:	50                   	push   %eax
409e0a:	51                   	push   %ecx
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