405dda:	8b 41 04             	mov    0x4(%ecx),%eax
405ddd:	39 5c 30 0c          	cmp    %ebx,0xc(%eax,%esi,1)
405de1:	75 04                	jne    0x405de7
405de3:	b3 01                	mov    $0x1,%bl
405de5:	eb 0d                	jmp    0x405df4
405de7:	51                   	push   %ecx
405de8:	8b 49 04             	mov    0x4(%ecx),%ecx
405deb:	6a 02                	push   $0x2
405ded:	03 ce                	add    %esi,%ecx
405def:	e8 c0 04 00 00       	call   0x4062b4
405df4:	88 5f 04             	mov    %bl,0x4(%edi)
405df7:	8b c7                	mov    %edi,%eax
405df9:	5f                   	pop    %edi
405dfa:	5e                   	pop    %esi
405dfb:	5b                   	pop    %ebx
405dfc:	c2 08 00             	ret    $0x8
405dff:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
405e04:	56                   	push   %esi
405e05:	57                   	push   %edi
405e06:	8b 7c 24 10          	mov    0x10(%esp),%edi
405e0a:	8b f1                	mov    %ecx,%esi
405e0c:	74 25                	je     0x405e33
405e0e:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405e12:	72 1f                	jb     0x405e33
405e14:	53                   	push   %ebx
405e15:	8b 1e                	mov    (%esi),%ebx
405e17:	85 ff                	test   %edi,%edi
405e19:	74 09                	je     0x405e24
405e1b:	57                   	push   %edi
405e1c:	8b d3                	mov    %ebx,%edx
405e1e:	e8 95 dc ff ff       	call   0x403ab8
405e23:	59                   	pop    %ecx
405e24:	8b 56 14             	mov    0x14(%esi),%edx
405e27:	8b cb                	mov    %ebx,%ecx
405e29:	6a 01                	push   $0x1
405e2b:	42                   	inc    %edx
405e2c:	e8 ad b3 ff ff       	call   0x4011de
405e31:	59                   	pop    %ecx
405e32:	5b                   	pop    %ebx
405e33:	89 7e 10             	mov    %edi,0x10(%esi)
405e36:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
405e3d:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
405e41:	5f                   	pop    %edi
405e42:	5e                   	pop    %esi
405e43:	c2 08 00             	ret    $0x8
405e46:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
405e4b:	74 2c                	je     0x405e79
405e4d:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
405e51:	72 04                	jb     0x405e57
405e53:	8b 01                	mov    (%ecx),%eax
405e55:	eb 02                	jmp    0x405e59
405e57:	8b c1                	mov    %ecx,%eax
405e59:	39 44 24 04          	cmp    %eax,0x4(%esp)
405e5d:	72 1a                	jb     0x405e79
405e5f:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
405e63:	72 04                	jb     0x405e69
405e65:	8b 11                	mov    (%ecx),%edx
405e67:	eb 02                	jmp    0x405e6b
405e69:	8b d1                	mov    %ecx,%edx
405e6b:	8b 41 10             	mov    0x10(%ecx),%eax
405e6e:	03 c2                	add    %edx,%eax
405e70:	3b 44 24 04          	cmp    0x4(%esp),%eax
405e74:	0f 97 c0             	seta   %al
405e77:	eb 02                	jmp    0x405e7b
405e79:	32 c0                	xor    %al,%al
405e7b:	c2 04 00             	ret    $0x4
405e7e:	56                   	push   %esi
405e7f:	8b 74 24 08          	mov    0x8(%esp),%esi
405e83:	83 fe fe             	cmp    $0xfffffffe,%esi
405e86:	77 49                	ja     0x405ed1
405e88:	39 71 14             	cmp    %esi,0x14(%ecx)
405e8b:	73 0b                	jae    0x405e98
405e8d:	ff 71 10             	push   0x10(%ecx)
405e90:	56                   	push   %esi
405e91:	e8 88 04 00 00       	call   0x40631e
405e96:	eb 30                	jmp    0x405ec8
405e98:	80 7c 24 0c 00       	cmpb   $0x0,0xc(%esp)
405e9d:	74 17                	je     0x405eb6
405e9f:	83 fe 10             	cmp    $0x10,%esi
405ea2:	73 12                	jae    0x405eb6
405ea4:	8b 41 10             	mov    0x10(%ecx),%eax
405ea7:	3b f0                	cmp    %eax,%esi
405ea9:	0f 42 c6             	cmovb  %esi,%eax
405eac:	50                   	push   %eax
405ead:	6a 01                	push   $0x1
405eaf:	e8 4b ff ff ff       	call   0x405dff
405eb4:	eb 12                	jmp    0x405ec8
405eb6:	85 f6                	test   %esi,%esi
405eb8:	75 10                	jne    0x405eca
405eba:	21 71 10             	and    %esi,0x10(%ecx)
405ebd:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
405ec1:	72 02                	jb     0x405ec5
405ec3:	8b 09                	mov    (%ecx),%ecx
405ec5:	c6 01 00             	movb   $0x0,(%ecx)
405ec8:	85 f6                	test   %esi,%esi
405eca:	0f 95 c0             	setne  %al
405ecd:	5e                   	pop    %esi
405ece:	c2 08 00             	ret    $0x8
405ed1:	e8 2d c4 ff ff       	call   0x402303
405ed6:	cc                   	int3
405ed7:	8b 44 24 08          	mov    0x8(%esp),%eax
405edb:	56                   	push   %esi
405edc:	8b f1                	mov    %ecx,%esi
405ede:	57                   	push   %edi
405edf:	8b 7e 10             	mov    0x10(%esi),%edi
405ee2:	3b f8                	cmp    %eax,%edi
405ee4:	77 15                	ja     0x405efb
405ee6:	83 66 10 00          	andl   $0x0,0x10(%esi)
405eea:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405eee:	72 04                	jb     0x405ef4
405ef0:	8b 06                	mov    (%esi),%eax
405ef2:	eb 02                	jmp    0x405ef6
405ef4:	8b c6                	mov    %esi,%eax
405ef6:	c6 00 00             	movb   $0x0,(%eax)
405ef9:	eb 30                	jmp    0x405f2b
405efb:	85 c0                	test   %eax,%eax
405efd:	74 2c                	je     0x405f2b
405eff:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405f03:	72 02                	jb     0x405f07
405f05:	8b 0e                	mov    (%esi),%ecx
405f07:	2b f8                	sub    %eax,%edi
405f09:	74 0d                	je     0x405f18
405f0b:	57                   	push   %edi
405f0c:	03 c1                	add    %ecx,%eax
405f0e:	50                   	push   %eax
405f0f:	51                   	push   %ecx
405f10:	e8 2b 4f 00 00       	call   0x40ae40
405f15:	83 c4 0c             	add    $0xc,%esp
405f18:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405f1c:	89 7e 10             	mov    %edi,0x10(%esi)
405f1f:	72 04                	jb     0x405f25
405f21:	8b 06                	mov    (%esi),%eax
405f23:	eb 02                	jmp    0x405f27
405f25:	8b c6                	mov    %esi,%eax
405f27:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
405f2b:	5f                   	pop    %edi
405f2c:	8b c6                	mov    %esi,%eax
405f2e:	5e                   	pop    %esi
405f2f:	c2 08 00             	ret    $0x8
405f32:	53                   	push   %ebx
405f33:	8b 5c 24 08          	mov    0x8(%esp),%ebx
405f37:	55                   	push   %ebp
405f38:	8b 6c 24 10          	mov    0x10(%esp),%ebp
405f3c:	56                   	push   %esi
405f3d:	57                   	push   %edi
405f3e:	8b 7b 10             	mov    0x10(%ebx),%edi
405f41:	8b f1                	mov    %ecx,%esi
405f43:	3b fd                	cmp    %ebp,%edi
405f45:	72 69                	jb     0x405fb0
405f47:	2b fd                	sub    %ebp,%edi
405f49:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
405f4d:	0f 42 7c 24 1c       	cmovb  0x1c(%esp),%edi
405f52:	3b f3                	cmp    %ebx,%esi
405f54:	75 14                	jne    0x405f6a
405f56:	8d 04 2f             	lea    (%edi,%ebp,1),%eax
405f59:	50                   	push   %eax
405f5a:	e8 aa 04 00 00       	call   0x406409
405f5f:	55                   	push   %ebp
405f60:	51                   	push   %ecx
405f61:	8b ce                	mov    %esi,%ecx
405f63:	e8 6f ff ff ff       	call   0x405ed7
405f68:	eb 3d                	jmp    0x405fa7
405f6a:	6a 00                	push   $0x0
405f6c:	57                   	push   %edi
405f6d:	e8 0c ff ff ff       	call   0x405e7e
405f72:	84 c0                	test   %al,%al
405f74:	74 31                	je     0x405fa7
405f76:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
405f7a:	72 02                	jb     0x405f7e
405f7c:	8b 1b                	mov    (%ebx),%ebx
405f7e:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405f82:	72 04                	jb     0x405f88
405f84:	8b 0e                	mov    (%esi),%ecx
405f86:	eb 02                	jmp    0x405f8a
405f88:	8b ce                	mov    %esi,%ecx
405f8a:	57                   	push   %edi
405f8b:	8d 14 2b             	lea    (%ebx,%ebp,1),%edx
405f8e:	e8 25 db ff ff       	call   0x403ab8
405f93:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405f97:	59                   	pop    %ecx
405f98:	89 7e 10             	mov    %edi,0x10(%esi)
405f9b:	72 04                	jb     0x405fa1
405f9d:	8b 06                	mov    (%esi),%eax
405f9f:	eb 02                	jmp    0x405fa3
405fa1:	8b c6                	mov    %esi,%eax
405fa3:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
405fa7:	5f                   	pop    %edi
405fa8:	8b c6                	mov    %esi,%eax
405faa:	5e                   	pop    %esi
405fab:	5d                   	pop    %ebp
405fac:	5b                   	pop    %ebx
405fad:	c2 0c 00             	ret    $0xc
405fb0:	e8 1e c2 ff ff       	call   0x4021d3
405fb5:	cc                   	int3
405fb6:	56                   	push   %esi
405fb7:	8b f1                	mov    %ecx,%esi
405fb9:	57                   	push   %edi
405fba:	8b 7c 24 0c          	mov    0xc(%esp),%edi
405fbe:	8b 4e 10             	mov    0x10(%esi),%ecx
405fc1:	8b c1                	mov    %ecx,%eax
405fc3:	f7 d0                	not    %eax
405fc5:	3b c7                	cmp    %edi,%eax
405fc7:	76 40                	jbe    0x406009
405fc9:	85 ff                	test   %edi,%edi
405fcb:	74 35                	je     0x406002
405fcd:	53                   	push   %ebx
405fce:	8d 1c 39             	lea    (%ecx,%edi,1),%ebx
405fd1:	8b ce                	mov    %esi,%ecx
405fd3:	6a 00                	push   $0x0
405fd5:	53                   	push   %ebx
405fd6:	e8 a3 fe ff ff       	call   0x405e7e
405fdb:	84 c0                	test   %al,%al
405fdd:	74 22                	je     0x406001
405fdf:	ff 74 24 14          	push   0x14(%esp)
405fe3:	8b ce                	mov    %esi,%ecx
405fe5:	57                   	push   %edi
405fe6:	ff 76 10             	push   0x10(%esi)
405fe9:	e8 db 03 00 00       	call   0x4063c9
405fee:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405ff2:	89 5e 10             	mov    %ebx,0x10(%esi)
405ff5:	72 04                	jb     0x405ffb
405ff7:	8b 06                	mov    (%esi),%eax
405ff9:	eb 02                	jmp    0x405ffd
405ffb:	8b c6                	mov    %esi,%eax
405ffd:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
406001:	5b                   	pop    %ebx
406002:	5f                   	pop    %edi
406003:	8b c6                	mov    %esi,%eax
406005:	5e                   	pop    %esi
406006:	c2 08 00             	ret    $0x8
406009:	e8 f5 c2 ff ff       	call   0x402303
40600e:	cc                   	int3
40600f:	55                   	push   %ebp
406010:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
406014:	56                   	push   %esi
406015:	57                   	push   %edi
406016:	8b 7c 24 10          	mov    0x10(%esp),%edi
40601a:	8b f1                	mov    %ecx,%esi
40601c:	8b 47 10             	mov    0x10(%edi),%eax
40601f:	3b c5                	cmp    %ebp,%eax
406021:	72 75                	jb     0x406098
406023:	8b 4e 10             	mov    0x10(%esi),%ecx
406026:	2b c5                	sub    %ebp,%eax
406028:	53                   	push   %ebx
406029:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
40602d:	3b c3                	cmp    %ebx,%eax
40602f:	89 4c 24 14          	mov    %ecx,0x14(%esp)
406033:	0f 42 d8             	cmovb  %eax,%ebx
406036:	8b c1                	mov    %ecx,%eax
406038:	f7 d0                	not    %eax
40603a:	3b c3                	cmp    %ebx,%eax
40603c:	76 5f                	jbe    0x40609d
40603e:	85 db                	test   %ebx,%ebx
406040:	74 4d                	je     0x40608f
406042:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
406045:	8b ce                	mov    %esi,%ecx
406047:	6a 00                	push   $0x0
406049:	50                   	push   %eax
40604a:	e8 2f fe ff ff       	call   0x405e7e
40604f:	84 c0                	test   %al,%al
406051:	74 3c                	je     0x40608f
406053:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
406057:	72 02                	jb     0x40605b
406059:	8b 3f                	mov    (%edi),%edi
40605b:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
40605f:	72 04                	jb     0x406065
406061:	8b 06                	mov    (%esi),%eax
406063:	eb 02                	jmp    0x406067
406065:	8b c6                	mov    %esi,%eax
406067:	8b 4e 10             	mov    0x10(%esi),%ecx
40606a:	8d 14 2f             	lea    (%edi,%ebp,1),%edx
40606d:	53                   	push   %ebx
40606e:	03 c8                	add    %eax,%ecx
406070:	e8 43 da ff ff       	call   0x403ab8
406075:	59                   	pop    %ecx
406076:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40607a:	03 cb                	add    %ebx,%ecx
40607c:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
406080:	89 4e 10             	mov    %ecx,0x10(%esi)
406083:	72 04                	jb     0x406089
406085:	8b 06                	mov    (%esi),%eax
406087:	eb 02                	jmp    0x40608b
406089:	8b c6                	mov    %esi,%eax
40608b:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
40608f:	5b                   	pop    %ebx
406090:	5f                   	pop    %edi
406091:	8b c6                	mov    %esi,%eax
406093:	5e                   	pop    %esi
406094:	5d                   	pop    %ebp
406095:	c2 0c 00             	ret    $0xc
406098:	e8 36 c1 ff ff       	call   0x4021d3
40609d:	e8 61 c2 ff ff       	call   0x402303
4060a2:	cc                   	int3
4060a3:	57                   	push   %edi
4060a4:	8b 79 0c             	mov    0xc(%ecx),%edi
4060a7:	8d 41 3c             	lea    0x3c(%ecx),%eax
4060aa:	39 07                	cmp    %eax,(%edi)
4060ac:	75 16                	jne    0x4060c4
4060ae:	8b 51 50             	mov    0x50(%ecx),%edx
4060b1:	56                   	push   %esi
4060b2:	8b 71 54             	mov    0x54(%ecx),%esi
4060b5:	89 17                	mov    %edx,(%edi)
4060b7:	2b f2                	sub    %edx,%esi
4060b9:	8b 41 1c             	mov    0x1c(%ecx),%eax
4060bc:	89 10                	mov    %edx,(%eax)
4060be:	8b 41 2c             	mov    0x2c(%ecx),%eax
4060c1:	89 30                	mov    %esi,(%eax)
4060c3:	5e                   	pop    %esi
4060c4:	5f                   	pop    %edi
4060c5:	c3                   	ret
4060c6:	55                   	push   %ebp
4060c7:	8b ec                	mov    %esp,%ebp
4060c9:	83 e4 f8             	and    $0xfffffff8,%esp
4060cc:	83 ec 24             	sub    $0x24,%esp
4060cf:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4060d4:	33 c4                	xor    %esp,%eax
4060d6:	89 44 24 20          	mov    %eax,0x20(%esp)
4060da:	53                   	push   %ebx
4060db:	56                   	push   %esi
4060dc:	57                   	push   %edi
4060dd:	8b f9                	mov    %ecx,%edi
4060df:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
4060e3:	0f 84 e5 00 00 00    	je     0x4061ce
4060e9:	80 7f 3d 00          	cmpb   $0x0,0x3d(%edi)
4060ed:	0f 84 db 00 00 00    	je     0x4061ce
4060f3:	8b 07                	mov    (%edi),%eax
4060f5:	6a ff                	push   $0xffffffff
4060f7:	ff 50 0c             	call   *0xc(%eax)
4060fa:	83 f8 ff             	cmp    $0xffffffff,%eax
4060fd:	75 07                	jne    0x406106
4060ff:	32 c0                	xor    %al,%al
406101:	e9 ca 00 00 00       	jmp    0x4061d0
406106:	6a 00                	push   $0x0
406108:	6a 08                	push   $0x8
40610a:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
40610e:	e8 f2 ed ff ff       	call   0x404f05
406113:	8b 5c 24 14          	mov    0x14(%esp),%ebx
406117:	8b 54 24 28          	mov    0x28(%esp),%edx
40611b:	8b 44 24 24          	mov    0x24(%esp),%eax
40611f:	8d 4c 24 14          	lea    0x14(%esp),%ecx
406123:	83 fa 10             	cmp    $0x10,%edx
406126:	8d 74 24 14          	lea    0x14(%esp),%esi
40612a:	0f 43 cb             	cmovae %ebx,%ecx
40612d:	0f 43 f3             	cmovae %ebx,%esi
406130:	03 c1                	add    %ecx,%eax
406132:	8d 5c 24 10          	lea    0x10(%esp),%ebx
406136:	8b 4f 38             	mov    0x38(%edi),%ecx
406139:	53                   	push   %ebx
40613a:	50                   	push   %eax
40613b:	56                   	push   %esi