403e04:	e8 49 3d 00 00       	call   0x407b52
403e09:	6a 22                	push   $0x22
403e0b:	59                   	pop    %ecx
403e0c:	66 39 08             	cmp    %cx,(%eax)
403e0f:	0f 84 8b 97 03 00    	je     0x43d5a0
403e15:	84 db                	test   %bl,%bl
403e17:	74 66                	je     0x403e7f
403e19:	32 db                	xor    %bl,%bl
403e1b:	84 db                	test   %bl,%bl
403e1d:	74 9c                	je     0x403dbb
403e1f:	eb 60                	jmp    0x403e81
403e21:	80 fb 01             	cmp    $0x1,%bl
403e24:	74 cf                	je     0x403df5
403e26:	33 c0                	xor    %eax,%eax
403e28:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403e2b:	66 89 84 75 d4 df ff 	mov    %ax,-0x202c(%ebp,%esi,2)
403e32:	ff
403e33:	8d 85 d4 df ff ff    	lea    -0x202c(%ebp),%eax
403e39:	50                   	push   %eax
403e3a:	e8 02 41 00 00       	call   0x407f41
403e3f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403e42:	8d 45 e0             	lea    -0x20(%ebp),%eax
403e45:	50                   	push   %eax
403e46:	e8 39 01 00 00       	call   0x403f84
403e4b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403e4e:	e8 11 1c 00 00       	call   0x405a64
403e53:	33 f6                	xor    %esi,%esi
403e55:	32 ff                	xor    %bh,%bh
403e57:	89 75 f8             	mov    %esi,-0x8(%ebp)
403e5a:	8b 75 08             	mov    0x8(%ebp),%esi
403e5d:	57                   	push   %edi
403e5e:	8b ce                	mov    %esi,%ecx
403e60:	e8 ed 3c 00 00       	call   0x407b52
403e65:	6a 20                	push   $0x20
403e67:	59                   	pop    %ecx
403e68:	0f b7 00             	movzwl (%eax),%eax
403e6b:	66 3b c1             	cmp    %cx,%ax
403e6e:	74 0c                	je     0x403e7c
403e70:	6a 09                	push   $0x9
403e72:	59                   	pop    %ecx
403e73:	66 3b c1             	cmp    %cx,%ax
403e76:	0f 85 3c ff ff ff    	jne    0x403db8
403e7c:	47                   	inc    %edi
403e7d:	eb de                	jmp    0x403e5d
403e7f:	b3 01                	mov    $0x1,%bl
403e81:	89 75 f0             	mov    %esi,-0x10(%ebp)
403e84:	e9 32 ff ff ff       	jmp    0x403dbb
403e89:	85 f6                	test   %esi,%esi
403e8b:	74 40                	je     0x403ecd
403e8d:	84 db                	test   %bl,%bl
403e8f:	75 46                	jne    0x403ed7
403e91:	33 c0                	xor    %eax,%eax
403e93:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403e96:	66 89 84 75 d4 df ff 	mov    %ax,-0x202c(%ebp,%esi,2)
403e9d:	ff
403e9e:	8d 85 d4 df ff ff    	lea    -0x202c(%ebp),%eax
403ea4:	50                   	push   %eax
403ea5:	e8 97 40 00 00       	call   0x407f41
403eaa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403ead:	8d 45 e0             	lea    -0x20(%ebp),%eax
403eb0:	50                   	push   %eax
403eb1:	e8 ce 00 00 00       	call   0x403f84
403eb6:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403eb9:	e8 a6 1b 00 00       	call   0x405a64
403ebe:	5f                   	pop    %edi
403ebf:	5e                   	pop    %esi
403ec0:	5b                   	pop    %ebx
403ec1:	8b e5                	mov    %ebp,%esp
403ec3:	5d                   	pop    %ebp
403ec4:	c2 04 00             	ret    $0x4
403ec7:	47                   	inc    %edi
403ec8:	e9 c8 fe ff ff       	jmp    0x403d95
403ecd:	84 ff                	test   %bh,%bh
403ecf:	75 bc                	jne    0x403e8d
403ed1:	84 db                	test   %bl,%bl
403ed3:	74 e9                	je     0x403ebe
403ed5:	eb b6                	jmp    0x403e8d
403ed7:	8b 55 f0             	mov    -0x10(%ebp),%edx
403eda:	8d 4e ff             	lea    -0x1(%esi),%ecx
403edd:	e9 e6 96 03 00       	jmp    0x43d5c8
403ee2:	55                   	push   %ebp
403ee3:	8b ec                	mov    %esp,%ebp
403ee5:	8b 11                	mov    (%ecx),%edx
403ee7:	3b 51 1c             	cmp    0x1c(%ecx),%edx
403eea:	7d 19                	jge    0x403f05
403eec:	8d 42 01             	lea    0x1(%edx),%eax
403eef:	89 01                	mov    %eax,(%ecx)
403ef1:	8b 41 18             	mov    0x18(%ecx),%eax
403ef4:	8b 4d 08             	mov    0x8(%ebp),%ecx
403ef7:	ff 34 90             	push   (%eax,%edx,4)
403efa:	e8 a8 42 00 00       	call   0x4081a7
403eff:	b0 01                	mov    $0x1,%al
403f01:	5d                   	pop    %ebp
403f02:	c2 04 00             	ret    $0x4
403f05:	8b 4d 08             	mov    0x8(%ebp),%ecx
403f08:	68 10 f9 48 00       	push   $0x48f910
403f0d:	e8 1a 3e 00 00       	call   0x407d2c
403f12:	32 c0                	xor    %al,%al
403f14:	eb eb                	jmp    0x403f01
403f16:	cc                   	int3
403f17:	cc                   	int3
403f18:	cc                   	int3
403f19:	cc                   	int3
403f1a:	cc                   	int3
403f1b:	cc                   	int3
403f1c:	cc                   	int3
403f1d:	cc                   	int3
403f1e:	cc                   	int3
403f1f:	cc                   	int3
403f20:	53                   	push   %ebx
403f21:	8b d9                	mov    %ecx,%ebx
403f23:	57                   	push   %edi
403f24:	33 ff                	xor    %edi,%edi
403f26:	39 7b 08             	cmp    %edi,0x8(%ebx)
403f29:	76 54                	jbe    0x403f7f
403f2b:	56                   	push   %esi
403f2c:	8d 64 24 00          	lea    0x0(%esp),%esp
403f30:	8b 73 04             	mov    0x4(%ebx),%esi
403f33:	8b 34 be             	mov    (%esi,%edi,4),%esi
403f36:	85 f6                	test   %esi,%esi
403f38:	74 16                	je     0x403f50
403f3a:	8b 46 0c             	mov    0xc(%esi),%eax
403f3d:	ff 08                	decl   (%eax)
403f3f:	8b 46 0c             	mov    0xc(%esi),%eax
403f42:	83 38 00             	cmpl   $0x0,(%eax)
403f45:	74 24                	je     0x403f6b
403f47:	56                   	push   %esi
403f48:	e8 1f d1 01 00       	call   0x42106c
403f4d:	83 c4 04             	add    $0x4,%esp
403f50:	8b 43 04             	mov    0x4(%ebx),%eax
403f53:	c7 04 b8 00 00 00 00 	movl   $0x0,(%eax,%edi,4)
403f5a:	47                   	inc    %edi
403f5b:	3b 7b 08             	cmp    0x8(%ebx),%edi
403f5e:	72 d0                	jb     0x403f30
403f60:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
403f67:	5e                   	pop    %esi
403f68:	5f                   	pop    %edi
403f69:	5b                   	pop    %ebx
403f6a:	c3                   	ret
403f6b:	ff 36                	push   (%esi)
403f6d:	e8 fa d0 01 00       	call   0x42106c
403f72:	ff 76 0c             	push   0xc(%esi)
403f75:	e8 f2 d0 01 00       	call   0x42106c
403f7a:	83 c4 08             	add    $0x8,%esp
403f7d:	eb c8                	jmp    0x403f47
403f7f:	89 7b 08             	mov    %edi,0x8(%ebx)
403f82:	eb e4                	jmp    0x403f68
403f84:	55                   	push   %ebp
403f85:	8b ec                	mov    %esp,%ebp
403f87:	56                   	push   %esi
403f88:	8b f1                	mov    %ecx,%esi
403f8a:	8b 46 0c             	mov    0xc(%esi),%eax
403f8d:	39 46 08             	cmp    %eax,0x8(%esi)
403f90:	75 2f                	jne    0x403fc1
403f92:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
403f95:	6a 08                	push   $0x8
403f97:	58                   	pop    %eax
403f98:	3b c8                	cmp    %eax,%ecx
403f9a:	73 5f                	jae    0x403ffb
403f9c:	57                   	push   %edi
403f9d:	33 c9                	xor    %ecx,%ecx
403f9f:	89 46 0c             	mov    %eax,0xc(%esi)
403fa2:	6a 04                	push   $0x4
403fa4:	5a                   	pop    %edx
403fa5:	f7 e2                	mul    %edx
403fa7:	0f 90 c1             	seto   %cl
403faa:	f7 d9                	neg    %ecx
403fac:	0b c8                	or     %eax,%ecx
403fae:	51                   	push   %ecx
403faf:	e8 42 d0 01 00       	call   0x420ff6
403fb4:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
403fb8:	8b f8                	mov    %eax,%edi
403fba:	59                   	pop    %ecx
403fbb:	75 42                	jne    0x403fff
403fbd:	89 7e 04             	mov    %edi,0x4(%esi)
403fc0:	5f                   	pop    %edi
403fc1:	6a 10                	push   $0x10
403fc3:	e8 2e d0 01 00       	call   0x420ff6
403fc8:	8b d0                	mov    %eax,%edx
403fca:	59                   	pop    %ecx
403fcb:	85 d2                	test   %edx,%edx
403fcd:	74 51                	je     0x404020
403fcf:	8b 45 08             	mov    0x8(%ebp),%eax
403fd2:	8b 08                	mov    (%eax),%ecx
403fd4:	89 0a                	mov    %ecx,(%edx)
403fd6:	8b 48 04             	mov    0x4(%eax),%ecx
403fd9:	89 4a 04             	mov    %ecx,0x4(%edx)
403fdc:	8b 48 08             	mov    0x8(%eax),%ecx
403fdf:	89 4a 08             	mov    %ecx,0x8(%edx)
403fe2:	8b 40 0c             	mov    0xc(%eax),%eax
403fe5:	89 42 0c             	mov    %eax,0xc(%edx)
403fe8:	ff 00                	incl   (%eax)
403fea:	8b 4e 08             	mov    0x8(%esi),%ecx
403fed:	8b 46 04             	mov    0x4(%esi),%eax
403ff0:	89 14 88             	mov    %edx,(%eax,%ecx,4)
403ff3:	ff 46 08             	incl   0x8(%esi)
403ff6:	5e                   	pop    %esi
403ff7:	5d                   	pop    %ebp
403ff8:	c2 04 00             	ret    $0x4
403ffb:	8b c1                	mov    %ecx,%eax
403ffd:	eb 9d                	jmp    0x403f9c
403fff:	8b 46 08             	mov    0x8(%esi),%eax
404002:	85 c0                	test   %eax,%eax
404004:	74 b7                	je     0x403fbd
404006:	c1 e0 02             	shl    $0x2,%eax
404009:	50                   	push   %eax
40400a:	ff 76 04             	push   0x4(%esi)
40400d:	57                   	push   %edi
40400e:	e8 6d d0 01 00       	call   0x421080
404013:	ff 76 04             	push   0x4(%esi)
404016:	e8 51 d0 01 00       	call   0x42106c
40401b:	83 c4 10             	add    $0x10,%esp
40401e:	eb 9d                	jmp    0x403fbd
404020:	33 d2                	xor    %edx,%edx
404022:	eb c6                	jmp    0x403fea
404024:	56                   	push   %esi
404025:	8b f1                	mov    %ecx,%esi
404027:	c7 06 68 f9 48 00    	movl   $0x48f968,(%esi)
40402d:	e8 ee fe ff ff       	call   0x403f20
404032:	ff 76 04             	push   0x4(%esi)
404035:	e8 32 d0 01 00       	call   0x42106c
40403a:	59                   	pop    %ecx
40403b:	5e                   	pop    %esi
40403c:	c3                   	ret
40403d:	83 3d 1c 69 4c 00 00 	cmpl   $0x0,0x4c691c
404044:	74 28                	je     0x40406e
404046:	56                   	push   %esi
404047:	a1 20 69 4c 00       	mov    0x4c6920,%eax
40404c:	b9 1c 69 4c 00       	mov    $0x4c691c,%ecx
404051:	8b 30                	mov    (%eax),%esi
404053:	e8 25 06 00 00       	call   0x40467d
404058:	85 f6                	test   %esi,%esi
40405a:	74 08                	je     0x404064
40405c:	51                   	push   %ecx
40405d:	8b ce                	mov    %esi,%ecx
40405f:	e8 01 06 00 00       	call   0x404665
404064:	83 3d 1c 69 4c 00 00 	cmpl   $0x0,0x4c691c
40406b:	75 da                	jne    0x404047
40406d:	5e                   	pop    %esi
40406e:	c3                   	ret
40406f:	55                   	push   %ebp
404070:	8b ec                	mov    %esp,%ebp
404072:	51                   	push   %ecx
404073:	53                   	push   %ebx
404074:	56                   	push   %esi
404075:	57                   	push   %edi
404076:	6a 14                	push   $0x14
404078:	8b d9                	mov    %ecx,%ebx
40407a:	e8 77 cf 01 00       	call   0x420ff6
40407f:	8b f8                	mov    %eax,%edi
404081:	59                   	pop    %ecx
404082:	85 ff                	test   %edi,%edi
404084:	74 3d                	je     0x4040c3
404086:	8d 4f 04             	lea    0x4(%edi),%ecx
404089:	e8 39 37 00 00       	call   0x4077c7
40408e:	8b 75 08             	mov    0x8(%ebp),%esi
404091:	8d 4f 04             	lea    0x4(%edi),%ecx
404094:	8b c6                	mov    %esi,%eax
404096:	89 7d fc             	mov    %edi,-0x4(%ebp)
404099:	c1 e0 04             	shl    $0x4,%eax
40409c:	05 84 01 00 00       	add    $0x184,%eax
4040a1:	03 c3                	add    %ebx,%eax
4040a3:	50                   	push   %eax
4040a4:	e8 fe 40 00 00       	call   0x4081a7
4040a9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4040ac:	89 37                	mov    %esi,(%edi)
4040ae:	50                   	push   %eax
4040af:	8d 8b 8c 00 00 00    	lea    0x8c(%ebx),%ecx
4040b5:	e8 e3 05 00 00       	call   0x40469d
4040ba:	5f                   	pop    %edi
4040bb:	5e                   	pop    %esi
4040bc:	5b                   	pop    %ebx
4040bd:	8b e5                	mov    %ebp,%esp
4040bf:	5d                   	pop    %ebp
4040c0:	c2 04 00             	ret    $0x4
4040c3:	33 ff                	xor    %edi,%edi
4040c5:	eb c7                	jmp    0x40408e
4040c7:	56                   	push   %esi
4040c8:	be 44 6a 4c 00       	mov    $0x4c6a44,%esi
4040cd:	8b 0e                	mov    (%esi),%ecx
4040cf:	85 c9                	test   %ecx,%ecx
4040d1:	75 2f                	jne    0x404102
4040d3:	83 c6 04             	add    $0x4,%esi
4040d6:	81 fe 60 72 4c 00    	cmp    $0x4c7260,%esi
4040dc:	7c ef                	jl     0x4040cd
4040de:	68 30 6a 4c 00       	push   $0x4c6a30
4040e3:	68 2c 6a 4c 00       	push   $0x4c6a2c
4040e8:	e8 26 01 00 00       	call   0x404213
4040ed:	68 3c 6a 4c 00       	push   $0x4c6a3c
4040f2:	68 38 6a 4c 00       	push   $0x4c6a38
4040f7:	e8 17 01 00 00       	call   0x404213
4040fc:	5e                   	pop    %esi
4040fd:	e9 3b ff ff ff       	jmp    0x40403d
404102:	51                   	push   %ecx
404103:	e8 83 e5 05 00       	call   0x46268b
404108:	83 26 00             	andl   $0x0,(%esi)
40410b:	eb c6                	jmp    0x4040d3
40410d:	55                   	push   %ebp
40410e:	8b ec                	mov    %esp,%ebp
404110:	83 e4 f8             	and    $0xfffffff8,%esp
404113:	81 ec cc 04 00 00    	sub    $0x4cc,%esp
404119:	80 3d 88 62 4c 00 00 	cmpb   $0x0,0x4c6288
404120:	56                   	push   %esi
404121:	8b f1                	mov    %ecx,%esi
404123:	0f 84 d7 00 00 00    	je     0x404200
404129:	68 04 01 00 00       	push   $0x104
40412e:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
404132:	e8 3f 3a 00 00       	call   0x407b76
404137:	80 3d 87 62 4c 00 01 	cmpb   $0x1,0x4c6287
40413e:	0f 84 99 94 03 00    	je     0x43d5dd
404144:	33 c0                	xor    %eax,%eax
404146:	66 89 44 24 18       	mov    %ax,0x18(%esp)
40414b:	8d 44 24 18          	lea    0x18(%esp),%eax
40414f:	50                   	push   %eax
404150:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
404154:	e8 d3 3b 00 00       	call   0x407d2c
404159:	80 3d 85 62 4c 00 00 	cmpb   $0x0,0x4c6285
404160:	8d 4c 24 08          	lea    0x8(%esp),%ecx
404164:	0f 85 8d 94 03 00    	jne    0x43d5f7
40416a:	83 7e 60 00          	cmpl   $0x0,0x60(%esi)
40416e:	0f 85 91 00 00 00    	jne    0x404205
404174:	68 d0 62 4c 00       	push   $0x4c62d0
404179:	e8 10 3b 00 00       	call   0x407c8e
40417e:	68 b4 03 00 00       	push   $0x3b4
404183:	8d 84 24 20 01 00 00 	lea    0x120(%esp),%eax
40418a:	6a 00                	push   $0x0
40418c:	50                   	push   %eax
40418d:	e8 8e ee 01 00       	call   0x423020
404192:	a1 ac 62 4c 00       	mov    0x4c62ac,%eax
404197:	8d 4c 24 24          	lea    0x24(%esp),%ecx
40419b:	8b 54 24 14          	mov    0x14(%esp),%edx
40419f:	83 c4 0c             	add    $0xc,%esp
4041a2:	33 f6                	xor    %esi,%esi
4041a4:	c7 84 24 18 01 00 00 	movl   $0x3a8,0x118(%esp)
4041ab:	a8 03 00 00
4041af:	46                   	inc    %esi
4041b0:	89 84 24 1c 01 00 00 	mov    %eax,0x11c(%esp)
4041b7:	89 b4 24 20 01 00 00 	mov    %esi,0x120(%esp)
4041be:	68 80 00 00 00       	push   $0x80
4041c3:	c7 84 24 28 01 00 00 	movl   $0x4,0x128(%esp)
4041ca:	04 00 00 00
4041ce:	e8 6b 04 00 00       	call   0x40463e
4041d3:	59                   	pop    %ecx
4041d4:	8d 44 24 18          	lea    0x18(%esp),%eax
4041d8:	50                   	push   %eax
4041d9:	8d 84 24 34 01 00 00 	lea    0x134(%esp),%eax
4041e0:	50                   	push   %eax
4041e1:	e8 16 ee 01 00       	call   0x422ffc
4041e6:	59                   	pop    %ecx
4041e7:	59                   	pop    %ecx