404cc9:	ff 35 7c a8 42 00    	push   0x42a87c
404ccf:	6a 02                	push   $0x2
404cd1:	68 09 11 00 00       	push   $0x1109
404cd6:	ff 75 fc             	push   -0x4(%ebp)
404cd9:	ff d6                	call   *%esi
404cdb:	53                   	push   %ebx
404cdc:	53                   	push   %ebx
404cdd:	68 1c 11 00 00       	push   $0x111c
404ce2:	ff 75 fc             	push   -0x4(%ebp)
404ce5:	ff d6                	call   *%esi
404ce7:	3b c7                	cmp    %edi,%eax
404ce9:	7d 0c                	jge    0x404cf7
404ceb:	53                   	push   %ebx
404cec:	57                   	push   %edi
404ced:	68 1b 11 00 00       	push   $0x111b
404cf2:	ff 75 fc             	push   -0x4(%ebp)
404cf5:	ff d6                	call   *%esi
404cf7:	ff 75 f4             	push   -0xc(%ebp)
404cfa:	ff 15 60 80 40 00    	call   *0x408060
404d00:	33 ff                	xor    %edi,%edi
404d02:	8b 45 e8             	mov    -0x18(%ebp),%eax
404d05:	8b 04 b8             	mov    (%eax,%edi,4),%eax
404d08:	3b c3                	cmp    %ebx,%eax
404d0a:	74 27                	je     0x404d33
404d0c:	83 ff 20             	cmp    $0x20,%edi
404d0f:	74 03                	je     0x404d14
404d11:	89 5d f0             	mov    %ebx,-0x10(%ebp)
404d14:	50                   	push   %eax
404d15:	53                   	push   %ebx
404d16:	e8 6d 14 00 00       	call   0x406188
404d1b:	50                   	push   %eax
404d1c:	53                   	push   %ebx
404d1d:	68 43 01 00 00       	push   $0x143
404d22:	ff 75 f8             	push   -0x8(%ebp)
404d25:	ff d6                	call   *%esi
404d27:	57                   	push   %edi
404d28:	50                   	push   %eax
404d29:	68 51 01 00 00       	push   $0x151
404d2e:	ff 75 f8             	push   -0x8(%ebp)
404d31:	ff d6                	call   *%esi
404d33:	47                   	inc    %edi
404d34:	83 ff 21             	cmp    $0x21,%edi
404d37:	7c c9                	jl     0x404d02
404d39:	8b 7d 14             	mov    0x14(%ebp),%edi
404d3c:	8b 45 f0             	mov    -0x10(%ebp),%eax
404d3f:	ff 74 87 30          	push   0x30(%edi,%eax,4)
404d43:	6a 15                	push   $0x15
404d45:	ff 75 08             	push   0x8(%ebp)
404d48:	e8 a7 f4 ff ff       	call   0x4041f4
404d4d:	8b 45 f0             	mov    -0x10(%ebp),%eax
404d50:	ff 74 87 34          	push   0x34(%edi,%eax,4)
404d54:	6a 16                	push   $0x16
404d56:	ff 75 08             	push   0x8(%ebp)
404d59:	e8 96 f4 ff ff       	call   0x4041f4
404d5e:	33 ff                	xor    %edi,%edi
404d60:	39 1d 6c f4 42 00    	cmp    %ebx,0x42f46c
404d66:	89 5d f4             	mov    %ebx,-0xc(%ebp)
404d69:	0f 8e c9 00 00 00    	jle    0x404e38
404d6f:	8b 45 ec             	mov    -0x14(%ebp),%eax
404d72:	8d 50 08             	lea    0x8(%eax),%edx
404d75:	89 55 e4             	mov    %edx,-0x1c(%ebp)
404d78:	8d 42 10             	lea    0x10(%edx),%eax
404d7b:	38 18                	cmp    %bl,(%eax)
404d7d:	0f 84 97 00 00 00    	je     0x404e1a
404d83:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404d86:	89 45 c4             	mov    %eax,-0x3c(%ebp)
404d89:	8b 02                	mov    (%edx),%eax
404d8b:	6a 20                	push   $0x20
404d8d:	89 4d ac             	mov    %ecx,-0x54(%ebp)
404d90:	59                   	pop    %ecx
404d91:	8b d0                	mov    %eax,%edx
404d93:	c7 45 b0 02 00 ff ff 	movl   $0xffff0002,-0x50(%ebp)
404d9a:	23 d1                	and    %ecx,%edx
404d9c:	c7 45 b4 0d 00 00 00 	movl   $0xd,-0x4c(%ebp)
404da3:	a8 02                	test   $0x2,%al
404da5:	89 4d c0             	mov    %ecx,-0x40(%ebp)
404da8:	89 7d d8             	mov    %edi,-0x28(%ebp)
404dab:	89 55 bc             	mov    %edx,-0x44(%ebp)
404dae:	74 3a                	je     0x404dea
404db0:	8d 45 ac             	lea    -0x54(%ebp),%eax
404db3:	c7 45 b4 4d 00 00 00 	movl   $0x4d,-0x4c(%ebp)
404dba:	50                   	push   %eax
404dbb:	53                   	push   %ebx
404dbc:	68 00 11 00 00       	push   $0x1100
404dc1:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
404dc8:	ff 75 fc             	push   -0x4(%ebp)
404dcb:	ff d6                	call   *%esi
404dcd:	8b 0d 90 a8 42 00    	mov    0x42a890,%ecx
404dd3:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
404dda:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404ddd:	a1 90 a8 42 00       	mov    0x42a890,%eax
404de2:	8b 04 b8             	mov    (%eax,%edi,4),%eax
404de5:	89 45 f4             	mov    %eax,-0xc(%ebp)
404de8:	eb 30                	jmp    0x404e1a
404dea:	a8 04                	test   $0x4,%al
404dec:	74 14                	je     0x404e02
404dee:	ff 75 f4             	push   -0xc(%ebp)
404df1:	6a 03                	push   $0x3
404df3:	68 0a 11 00 00       	push   $0x110a
404df8:	ff 75 fc             	push   -0x4(%ebp)
404dfb:	ff d6                	call   *%esi
404dfd:	89 45 f4             	mov    %eax,-0xc(%ebp)
404e00:	eb 18                	jmp    0x404e1a
404e02:	8d 45 ac             	lea    -0x54(%ebp),%eax
404e05:	50                   	push   %eax
404e06:	53                   	push   %ebx
404e07:	68 00 11 00 00       	push   $0x1100
404e0c:	ff 75 fc             	push   -0x4(%ebp)
404e0f:	ff d6                	call   *%esi
404e11:	8b 0d 90 a8 42 00    	mov    0x42a890,%ecx
404e17:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
404e1a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
404e1d:	47                   	inc    %edi
404e1e:	81 c2 18 04 00 00    	add    $0x418,%edx
404e24:	3b 3d 6c f4 42 00    	cmp    0x42f46c,%edi
404e2a:	89 55 e4             	mov    %edx,-0x1c(%ebp)
404e2d:	0f 8c 45 ff ff ff    	jl     0x404d78
404e33:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
404e36:	75 19                	jne    0x404e51
404e38:	6a f0                	push   $0xfffffff0
404e3a:	ff 75 fc             	push   -0x4(%ebp)
404e3d:	ff 15 9c 81 40 00    	call   *0x40819c
404e43:	24 fb                	and    $0xfb,%al
404e45:	50                   	push   %eax
404e46:	6a f0                	push   $0xfffffff0
404e48:	ff 75 fc             	push   -0x4(%ebp)
404e4b:	ff 15 4c 82 40 00    	call   *0x40824c
404e51:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
404e54:	75 18                	jne    0x404e6e
404e56:	6a 05                	push   $0x5
404e58:	ff 75 f8             	push   -0x8(%ebp)
404e5b:	ff 15 48 82 40 00    	call   *0x408248
404e61:	ff 75 f8             	push   -0x8(%ebp)
404e64:	e8 c0 f3 ff ff       	call   0x404229
404e69:	e9 7e 03 00 00       	jmp    0x4051ec
404e6e:	ff 75 fc             	push   -0x4(%ebp)
404e71:	e8 b3 f3 ff ff       	call   0x404229
404e76:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
404e7d:	75 12                	jne    0x404e91
404e7f:	33 c9                	xor    %ecx,%ecx
404e81:	89 5d 10             	mov    %ebx,0x10(%ebp)
404e84:	41                   	inc    %ecx
404e85:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404e8c:	89 4d 14             	mov    %ecx,0x14(%ebp)
404e8f:	eb 03                	jmp    0x404e94
404e91:	8b 4d 14             	mov    0x14(%ebp),%ecx
404e94:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
404e98:	b8 13 04 00 00       	mov    $0x413,%eax
404e9d:	74 09                	je     0x404ea8
404e9f:	39 45 0c             	cmp    %eax,0xc(%ebp)
404ea2:	0f 85 e4 00 00 00    	jne    0x404f8c
404ea8:	39 45 0c             	cmp    %eax,0xc(%ebp)
404eab:	89 4d f4             	mov    %ecx,-0xc(%ebp)
404eae:	74 0d                	je     0x404ebd
404eb0:	81 79 04 08 04 00 00 	cmpl   $0x408,0x4(%ecx)
404eb7:	0f 85 cf 00 00 00    	jne    0x404f8c
404ebd:	f6 05 3d f4 42 00 02 	testb  $0x2,0x42f43d
404ec4:	75 73                	jne    0x404f39
404ec6:	39 45 0c             	cmp    %eax,0xc(%ebp)
404ec9:	74 09                	je     0x404ed4
404ecb:	8b 4d 14             	mov    0x14(%ebp),%ecx
404ece:	83 79 08 fe          	cmpl   $0xfffffffe,0x8(%ecx)
404ed2:	75 65                	jne    0x404f39
404ed4:	33 c9                	xor    %ecx,%ecx
404ed6:	39 45 0c             	cmp    %eax,0xc(%ebp)
404ed9:	0f 95 c1             	setne  %cl
404edc:	51                   	push   %ecx
404edd:	ff 75 fc             	push   -0x4(%ebp)
404ee0:	e8 62 fc ff ff       	call   0x404b47
404ee5:	8b f8                	mov    %eax,%edi
404ee7:	3b fb                	cmp    %ebx,%edi
404ee9:	7c 4e                	jl     0x404f39
404eeb:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404ef1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404ef4:	8d 4c 08 08          	lea    0x8(%eax,%ecx,1),%ecx
404ef8:	8b 01                	mov    (%ecx),%eax
404efa:	a8 10                	test   $0x10,%al
404efc:	75 3b                	jne    0x404f39
404efe:	a8 40                	test   $0x40,%al
404f00:	74 11                	je     0x404f13
404f02:	35 80 00 00 00       	xor    $0x80,%eax
404f07:	84 c0                	test   %al,%al
404f09:	79 04                	jns    0x404f0f
404f0b:	0c 01                	or     $0x1,%al
404f0d:	eb 07                	jmp    0x404f16
404f0f:	24 fe                	and    $0xfe,%al
404f11:	eb 03                	jmp    0x404f16
404f13:	83 f0 01             	xor    $0x1,%eax
404f16:	57                   	push   %edi
404f17:	89 01                	mov    %eax,(%ecx)
404f19:	e8 5f c2 ff ff       	call   0x40117d
404f1e:	a1 3c f4 42 00       	mov    0x42f43c,%eax
404f23:	47                   	inc    %edi
404f24:	f7 d0                	not    %eax
404f26:	c1 e8 08             	shr    $0x8,%eax
404f29:	83 e0 01             	and    $0x1,%eax
404f2c:	89 7d 10             	mov    %edi,0x10(%ebp)
404f2f:	89 45 14             	mov    %eax,0x14(%ebp)
404f32:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404f39:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
404f3c:	74 4e                	je     0x404f8c
404f3e:	8b 45 f4             	mov    -0xc(%ebp),%eax
404f41:	81 78 08 6e fe ff ff 	cmpl   $0xfffffe6e,0x8(%eax)
404f48:	75 0e                	jne    0x404f58
404f4a:	ff 70 5c             	push   0x5c(%eax)
404f4d:	53                   	push   %ebx
404f4e:	68 19 04 00 00       	push   $0x419
404f53:	ff 75 fc             	push   -0x4(%ebp)
404f56:	ff d6                	call   *%esi
404f58:	8b 45 f4             	mov    -0xc(%ebp),%eax
404f5b:	81 78 08 6a fe ff ff 	cmpl   $0xfffffe6a,0x8(%eax)
404f62:	75 28                	jne    0x404f8c
404f64:	83 78 0c 02          	cmpl   $0x2,0xc(%eax)
404f68:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404f6b:	8b 40 5c             	mov    0x5c(%eax),%eax
404f6e:	75 0f                	jne    0x404f7f
404f70:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404f76:	8d 44 08 08          	lea    0x8(%eax,%ecx,1),%eax
404f7a:	83 08 20             	orl    $0x20,(%eax)
404f7d:	eb 0d                	jmp    0x404f8c
404f7f:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404f85:	8d 44 08 08          	lea    0x8(%eax,%ecx,1),%eax
404f89:	83 20 df             	andl   $0xffffffdf,(%eax)
404f8c:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404f93:	75 6f                	jne    0x405004
404f95:	66 81 7d 10 f9 03    	cmpw   $0x3f9,0x10(%ebp)
404f9b:	0f 85 4b 02 00 00    	jne    0x4051ec
404fa1:	8b 45 10             	mov    0x10(%ebp),%eax
404fa4:	c1 e8 10             	shr    $0x10,%eax
404fa7:	66 3d 01 00          	cmp    $0x1,%ax
404fab:	0f 85 3b 02 00 00    	jne    0x4051ec
404fb1:	53                   	push   %ebx
404fb2:	53                   	push   %ebx
404fb3:	68 47 01 00 00       	push   $0x147
404fb8:	ff 75 f8             	push   -0x8(%ebp)
404fbb:	ff d6                	call   *%esi
404fbd:	83 f8 ff             	cmp    $0xffffffff,%eax
404fc0:	0f 84 26 02 00 00    	je     0x4051ec
404fc6:	53                   	push   %ebx
404fc7:	50                   	push   %eax
404fc8:	68 50 01 00 00       	push   $0x150
404fcd:	ff 75 f8             	push   -0x8(%ebp)
404fd0:	ff d6                	call   *%esi
404fd2:	8b f8                	mov    %eax,%edi
404fd4:	83 ff ff             	cmp    $0xffffffff,%edi
404fd7:	74 08                	je     0x404fe1
404fd9:	8b 45 e8             	mov    -0x18(%ebp),%eax
404fdc:	39 1c b8             	cmp    %ebx,(%eax,%edi,4)
404fdf:	75 03                	jne    0x404fe4
404fe1:	6a 20                	push   $0x20
404fe3:	5f                   	pop    %edi
404fe4:	57                   	push   %edi
404fe5:	e8 af c2 ff ff       	call   0x401299
404fea:	57                   	push   %edi
404feb:	53                   	push   %ebx
404fec:	68 20 04 00 00       	push   $0x420
404ff1:	ff 75 08             	push   0x8(%ebp)
404ff4:	ff d6                	call   *%esi
404ff6:	83 4d 10 ff          	orl    $0xffffffff,0x10(%ebp)
404ffa:	89 5d 14             	mov    %ebx,0x14(%ebp)
404ffd:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
405004:	b8 00 02 00 00       	mov    $0x200,%eax
405009:	39 45 0c             	cmp    %eax,0xc(%ebp)
40500c:	75 08                	jne    0x405016
40500e:	53                   	push   %ebx
40500f:	53                   	push   %ebx
405010:	50                   	push   %eax
405011:	ff 75 fc             	push   -0x4(%ebp)
405014:	ff d6                	call   *%esi
405016:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
40501d:	75 32                	jne    0x405051
40501f:	a1 7c a8 42 00       	mov    0x42a87c,%eax
405024:	3b c3                	cmp    %ebx,%eax
405026:	74 07                	je     0x40502f
405028:	50                   	push   %eax
405029:	ff 15 44 80 40 00    	call   *0x408044
40502f:	a1 90 a8 42 00       	mov    0x42a890,%eax
405034:	3b c3                	cmp    %ebx,%eax
405036:	74 07                	je     0x40503f
405038:	50                   	push   %eax
405039:	ff 15 5c 81 40 00    	call   *0x40815c
40503f:	89 1d 7c a8 42 00    	mov    %ebx,0x42a87c
405045:	89 1d 90 a8 42 00    	mov    %ebx,0x42a890
40504b:	89 1d a0 f4 42 00    	mov    %ebx,0x42f4a0
405051:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
405058:	0f 85 50 01 00 00    	jne    0x4051ae
40505e:	53                   	push   %ebx
40505f:	53                   	push   %ebx
405060:	e8 8a c1 ff ff       	call   0x4011ef
405065:	8b 45 10             	mov    0x10(%ebp),%eax
405068:	3b c3                	cmp    %ebx,%eax
40506a:	74 0e                	je     0x40507a
40506c:	83 f8 ff             	cmp    $0xffffffff,%eax
40506f:	74 01                	je     0x405072
405071:	48                   	dec    %eax
405072:	50                   	push   %eax
405073:	6a 08                	push   $0x8
405075:	e8 4d fb ff ff       	call   0x404bc7
40507a:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40507d:	74 3f                	je     0x4050be
40507f:	ff 35 90 a8 42 00    	push   0x42a890
405085:	e8 58 c2 ff ff       	call   0x4012e2
40508a:	8b f8                	mov    %eax,%edi
40508c:	57                   	push   %edi
40508d:	e8 07 c2 ff ff       	call   0x401299
405092:	33 c0                	xor    %eax,%eax
405094:	33 c9                	xor    %ecx,%ecx
405096:	3b fb                	cmp    %ebx,%edi
405098:	7e 0e                	jle    0x4050a8
40509a:	8b 55 e8             	mov    -0x18(%ebp),%edx
40509d:	39 1c 82             	cmp    %ebx,(%edx,%eax,4)
4050a0:	74 01                	je     0x4050a3
4050a2:	41                   	inc    %ecx
4050a3:	40                   	inc    %eax
4050a4:	3b c7                	cmp    %edi,%eax
4050a6:	7c f2                	jl     0x40509a
4050a8:	53                   	push   %ebx
4050a9:	51                   	push   %ecx
4050aa:	68 4e 01 00 00       	push   $0x14e
4050af:	ff 75 f8             	push   -0x8(%ebp)
4050b2:	ff d6                	call   *%esi
4050b4:	89 7d 14             	mov    %edi,0x14(%ebp)
4050b7:	c7 45 0c 20 04 00 00 	movl   $0x420,0xc(%ebp)
4050be:	53                   	push   %ebx
4050bf:	53                   	push   %ebx
4050c0:	e8 2a c1 ff ff       	call   0x4011ef
4050c5:	a1 90 a8 42 00       	mov    0x42a890,%eax
4050ca:	39 1d 6c f4 42 00    	cmp    %ebx,0x42f46c
4050d0:	89 45 e0             	mov    %eax,-0x20(%ebp)
4050d3:	a1 68 f4 42 00       	mov    0x42f468,%eax
4050d8:	c7 45 c4 30 f0 00 00 	movl   $0xf030,-0x3c(%ebp)
4050df:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4050e2:	0f 8e 9c 00 00 00    	jle    0x405184
4050e8:	8d 78 08             	lea    0x8(%eax),%edi
4050eb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4050ee:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4050f1:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4050f4:	3b c3                	cmp    %ebx,%eax
4050f6:	74 74                	je     0x40516c
4050f8:	8b 0f                	mov    (%edi),%ecx
4050fa:	89 45 bc             	mov    %eax,-0x44(%ebp)
4050fd:	f6 c5 01             	test   $0x1,%ch
405100:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
405107:	74 11                	je     0x40511a
405109:	8d 47 10             	lea    0x10(%edi),%eax
40510c:	c7 45 b8 09 00 00 00 	movl   $0x9,-0x48(%ebp)
405113:	89 45 c8             	mov    %eax,-0x38(%ebp)
405116:	80 67 01 fe          	andb   $0xfe,0x1(%edi)
40511a:	f6 c1 40             	test   $0x40,%cl
40511d:	74 05                	je     0x405124