577e1c:	8b 74 24 1c          	mov    0x1c(%esp),%esi
577e20:	8b 54 24 18          	mov    0x18(%esp),%edx
577e24:	89 4c 24 10          	mov    %ecx,0x10(%esp)
577e28:	3b ce                	cmp    %esi,%ecx
577e2a:	7d 16                	jge    0x577e42
577e2c:	03 cd                	add    %ebp,%ecx
577e2e:	2b d5                	sub    %ebp,%edx
577e30:	2b 74 24 10          	sub    0x10(%esp),%esi
577e34:	8a 04 11             	mov    (%ecx,%edx,1),%al
577e37:	8d 49 01             	lea    0x1(%ecx),%ecx
577e3a:	30 41 ff             	xor    %al,-0x1(%ecx)
577e3d:	83 ee 01             	sub    $0x1,%esi
577e40:	75 f2                	jne    0x577e34
577e42:	8b 44 24 2c          	mov    0x2c(%esp),%eax
577e46:	85 c0                	test   %eax,%eax
577e48:	74 11                	je     0x577e5b
577e4a:	b9 08 00 00 00       	mov    $0x8,%ecx
577e4f:	2b c8                	sub    %eax,%ecx
577e51:	b8 ff 00 00 00       	mov    $0xff,%eax
577e56:	d3 f8                	sar    %cl,%eax
577e58:	20 45 00             	and    %al,0x0(%ebp)
577e5b:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
577e5f:	33 f6                	xor    %esi,%esi
577e61:	80 7d 00 00          	cmpb   $0x0,0x0(%ebp)
577e65:	75 14                	jne    0x577e7b
577e67:	8d 41 ff             	lea    -0x1(%ecx),%eax
577e6a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
577e70:	3b f0                	cmp    %eax,%esi
577e72:	7d 07                	jge    0x577e7b
577e74:	46                   	inc    %esi
577e75:	80 3c 2e 00          	cmpb   $0x0,(%esi,%ebp,1)
577e79:	74 f5                	je     0x577e70
577e7b:	8a 04 2e             	mov    (%esi,%ebp,1),%al
577e7e:	46                   	inc    %esi
577e7f:	3c 01                	cmp    $0x1,%al
577e81:	74 23                	je     0x577ea6
577e83:	68 98 00 00 00       	push   $0x98
577e88:	68 90 d3 6b 00       	push   $0x6bd390
577e8d:	68 87 00 00 00       	push   $0x87
577e92:	68 95 00 00 00       	push   $0x95
577e97:	6a 04                	push   $0x4
577e99:	e8 02 96 f2 ff       	call   0x4a14a0
577e9e:	83 c4 14             	add    $0x14,%esp
577ea1:	e9 3a 01 00 00       	jmp    0x577fe0
577ea6:	8b 94 24 ac 00 00 00 	mov    0xac(%esp),%edx
577ead:	85 d2                	test   %edx,%edx
577eaf:	78 2b                	js     0x577edc
577eb1:	8b c1                	mov    %ecx,%eax
577eb3:	2b c6                	sub    %esi,%eax
577eb5:	3b c2                	cmp    %edx,%eax
577eb7:	74 23                	je     0x577edc
577eb9:	68 9c 00 00 00       	push   $0x9c
577ebe:	68 90 d3 6b 00       	push   $0x6bd390
577ec3:	68 88 00 00 00       	push   $0x88
577ec8:	68 95 00 00 00       	push   $0x95
577ecd:	6a 04                	push   $0x4
577ecf:	e8 cc 95 f2 ff       	call   0x4a14a0
577ed4:	83 c4 14             	add    $0x14,%esp
577ed7:	e9 04 01 00 00       	jmp    0x577fe0
577edc:	6a 00                	push   $0x0
577ede:	ff 74 24 34          	push   0x34(%esp)
577ee2:	8d 44 24 40          	lea    0x40(%esp),%eax
577ee6:	50                   	push   %eax
577ee7:	e8 b4 93 f3 ff       	call   0x4b12a0
577eec:	83 c4 0c             	add    $0xc,%esp
577eef:	85 c0                	test   %eax,%eax
577ef1:	0f 84 e9 00 00 00    	je     0x577fe0
577ef7:	6a 08                	push   $0x8
577ef9:	8d 44 24 3c          	lea    0x3c(%esp),%eax
577efd:	68 88 d3 6b 00       	push   $0x6bd388
577f02:	50                   	push   %eax
577f03:	e8 48 95 f3 ff       	call   0x4b1450
577f08:	83 c4 0c             	add    $0xc,%esp
577f0b:	85 c0                	test   %eax,%eax
577f0d:	0f 84 cd 00 00 00    	je     0x577fe0
577f13:	57                   	push   %edi
577f14:	ff 74 24 38          	push   0x38(%esp)
577f18:	8d 44 24 40          	lea    0x40(%esp),%eax
577f1c:	50                   	push   %eax
577f1d:	e8 2e 95 f3 ff       	call   0x4b1450
577f22:	83 c4 0c             	add    $0xc,%esp
577f25:	85 c0                	test   %eax,%eax
577f27:	0f 84 b3 00 00 00    	je     0x577fe0
577f2d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
577f31:	2b c6                	sub    %esi,%eax
577f33:	74 1a                	je     0x577f4f
577f35:	50                   	push   %eax
577f36:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
577f39:	50                   	push   %eax
577f3a:	8d 44 24 40          	lea    0x40(%esp),%eax
577f3e:	50                   	push   %eax
577f3f:	e8 0c 95 f3 ff       	call   0x4b1450
577f44:	83 c4 0c             	add    $0xc,%esp
577f47:	85 c0                	test   %eax,%eax
577f49:	0f 84 91 00 00 00    	je     0x577fe0
577f4f:	6a 00                	push   $0x0
577f51:	8d 44 24 54          	lea    0x54(%esp),%eax
577f55:	50                   	push   %eax
577f56:	8d 44 24 40          	lea    0x40(%esp),%eax
577f5a:	50                   	push   %eax
577f5b:	e8 c0 92 f3 ff       	call   0x4b1220
577f60:	83 c4 0c             	add    $0xc,%esp
577f63:	85 c0                	test   %eax,%eax
577f65:	74 79                	je     0x577fe0
577f67:	8d 4c 24 50          	lea    0x50(%esp),%ecx
577f6b:	83 ef 04             	sub    $0x4,%edi
577f6e:	72 11                	jb     0x577f81
577f70:	8b 01                	mov    (%ecx),%eax
577f72:	3b 03                	cmp    (%ebx),%eax
577f74:	75 10                	jne    0x577f86
577f76:	83 c1 04             	add    $0x4,%ecx
577f79:	83 c3 04             	add    $0x4,%ebx
577f7c:	83 ef 04             	sub    $0x4,%edi
577f7f:	73 ef                	jae    0x577f70
577f81:	83 ff fc             	cmp    $0xfffffffc,%edi
577f84:	74 52                	je     0x577fd8
577f86:	8a 01                	mov    (%ecx),%al
577f88:	3a 03                	cmp    (%ebx),%al
577f8a:	75 27                	jne    0x577fb3
577f8c:	83 ff fd             	cmp    $0xfffffffd,%edi
577f8f:	74 47                	je     0x577fd8
577f91:	8a 41 01             	mov    0x1(%ecx),%al
577f94:	3a 43 01             	cmp    0x1(%ebx),%al
577f97:	75 1a                	jne    0x577fb3
577f99:	83 ff fe             	cmp    $0xfffffffe,%edi
577f9c:	74 3a                	je     0x577fd8
577f9e:	8a 41 02             	mov    0x2(%ecx),%al
577fa1:	3a 43 02             	cmp    0x2(%ebx),%al
577fa4:	75 0d                	jne    0x577fb3
577fa6:	83 ff ff             	cmp    $0xffffffff,%edi
577fa9:	74 2d                	je     0x577fd8
577fab:	8a 41 03             	mov    0x3(%ecx),%al
577fae:	3a 43 03             	cmp    0x3(%ebx),%al
577fb1:	74 25                	je     0x577fd8
577fb3:	68 aa 00 00 00       	push   $0xaa
577fb8:	68 90 d3 6b 00       	push   $0x6bd390
577fbd:	6a 68                	push   $0x68
577fbf:	68 95 00 00 00       	push   $0x95
577fc4:	6a 04                	push   $0x4
577fc6:	e8 d5 94 f2 ff       	call   0x4a14a0
577fcb:	83 c4 14             	add    $0x14,%esp
577fce:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
577fd5:	00
577fd6:	eb 08                	jmp    0x577fe0
577fd8:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
577fdf:	00
577fe0:	55                   	push   %ebp
577fe1:	e8 4a 81 f2 ff       	call   0x4a0130
577fe6:	83 c4 04             	add    $0x4,%esp
577fe9:	8d 44 24 38          	lea    0x38(%esp),%eax
577fed:	50                   	push   %eax
577fee:	e8 6d 94 f3 ff       	call   0x4b1460
577ff3:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
577ffa:	83 c4 04             	add    $0x4,%esp
577ffd:	8b 44 24 20          	mov    0x20(%esp),%eax
578001:	5f                   	pop    %edi
578002:	5e                   	pop    %esi
578003:	5d                   	pop    %ebp
578004:	5b                   	pop    %ebx
578005:	33 cc                	xor    %esp,%ecx
578007:	e8 ce 94 06 00       	call   0x5e14da
57800c:	81 c4 84 00 00 00    	add    $0x84,%esp
578012:	c3                   	ret
578013:	cc                   	int3
578014:	cc                   	int3
578015:	cc                   	int3
578016:	cc                   	int3
578017:	cc                   	int3
578018:	cc                   	int3
578019:	cc                   	int3
57801a:	cc                   	int3
57801b:	cc                   	int3
57801c:	cc                   	int3
57801d:	cc                   	int3
57801e:	cc                   	int3
57801f:	cc                   	int3
578020:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
578025:	75 03                	jne    0x57802a
578027:	33 c0                	xor    %eax,%eax
578029:	c3                   	ret
57802a:	53                   	push   %ebx
57802b:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
57802f:	55                   	push   %ebp
578030:	56                   	push   %esi
578031:	57                   	push   %edi
578032:	53                   	push   %ebx
578033:	33 ff                	xor    %edi,%edi
578035:	e8 d6 65 f3 ff       	call   0x4ae610
57803a:	83 c4 04             	add    $0x4,%esp
57803d:	85 c0                	test   %eax,%eax
57803f:	7e 6f                	jle    0x5780b0
578041:	57                   	push   %edi
578042:	53                   	push   %ebx
578043:	e8 e8 66 f3 ff       	call   0x4ae730
578048:	8b e8                	mov    %eax,%ebp
57804a:	83 c4 08             	add    $0x8,%esp
57804d:	8b 75 04             	mov    0x4(%ebp),%esi
578050:	8b d6                	mov    %esi,%edx
578052:	8a 0e                	mov    (%esi),%cl
578054:	84 c9                	test   %cl,%cl
578056:	74 20                	je     0x578078
578058:	80 f9 3a             	cmp    $0x3a,%cl
57805b:	74 14                	je     0x578071
57805d:	80 f9 2c             	cmp    $0x2c,%cl
578060:	74 0f                	je     0x578071
578062:	80 f9 2e             	cmp    $0x2e,%cl
578065:	74 0a                	je     0x578071
578067:	8a 4a 01             	mov    0x1(%edx),%cl
57806a:	42                   	inc    %edx
57806b:	84 c9                	test   %cl,%cl
57806d:	75 e9                	jne    0x578058
57806f:	eb 07                	jmp    0x578078
578071:	42                   	inc    %edx
578072:	80 3a 00             	cmpb   $0x0,(%edx)
578075:	0f 45 f2             	cmovne %edx,%esi
578078:	80 3e 2b             	cmpb   $0x2b,(%esi)
57807b:	75 06                	jne    0x578083
57807d:	83 c8 ff             	or     $0xffffffff,%eax
578080:	46                   	inc    %esi
578081:	eb 02                	jmp    0x578085
578083:	33 c0                	xor    %eax,%eax
578085:	50                   	push   %eax
578086:	6a ff                	push   $0xffffffff
578088:	6a ff                	push   $0xffffffff
57808a:	ff 75 08             	push   0x8(%ebp)
57808d:	ff 74 24 2c          	push   0x2c(%esp)
578091:	56                   	push   %esi
578092:	ff 74 24 2c          	push   0x2c(%esp)
578096:	e8 75 5a 01 00       	call   0x58db10
57809b:	83 c4 1c             	add    $0x1c,%esp
57809e:	85 c0                	test   %eax,%eax
5780a0:	74 18                	je     0x5780ba
5780a2:	53                   	push   %ebx
5780a3:	47                   	inc    %edi
5780a4:	e8 67 65 f3 ff       	call   0x4ae610
5780a9:	83 c4 04             	add    $0x4,%esp
5780ac:	3b f8                	cmp    %eax,%edi
5780ae:	7c 91                	jl     0x578041
5780b0:	5f                   	pop    %edi
5780b1:	5e                   	pop    %esi
5780b2:	5d                   	pop    %ebp
5780b3:	b8 01 00 00 00       	mov    $0x1,%eax
5780b8:	5b                   	pop    %ebx
5780b9:	c3                   	ret
5780ba:	5f                   	pop    %edi
5780bb:	5e                   	pop    %esi
5780bc:	5d                   	pop    %ebp
5780bd:	33 c0                	xor    %eax,%eax
5780bf:	5b                   	pop    %ebx
5780c0:	c3                   	ret
5780c1:	cc                   	int3
5780c2:	cc                   	int3
5780c3:	cc                   	int3
5780c4:	cc                   	int3
5780c5:	cc                   	int3
5780c6:	cc                   	int3
5780c7:	cc                   	int3
5780c8:	cc                   	int3
5780c9:	cc                   	int3
5780ca:	cc                   	int3
5780cb:	cc                   	int3
5780cc:	cc                   	int3
5780cd:	cc                   	int3
5780ce:	cc                   	int3
5780cf:	cc                   	int3
5780d0:	8b 44 24 04          	mov    0x4(%esp),%eax
5780d4:	53                   	push   %ebx
5780d5:	55                   	push   %ebp
5780d6:	56                   	push   %esi
5780d7:	57                   	push   %edi
5780d8:	33 f6                	xor    %esi,%esi
5780da:	33 db                	xor    %ebx,%ebx
5780dc:	33 ff                	xor    %edi,%edi
5780de:	85 c0                	test   %eax,%eax
5780e0:	74 0f                	je     0x5780f1
5780e2:	50                   	push   %eax
5780e3:	e8 c8 66 f3 ff       	call   0x4ae7b0
5780e8:	8b d8                	mov    %eax,%ebx
5780ea:	83 c4 04             	add    $0x4,%esp
5780ed:	85 db                	test   %ebx,%ebx
5780ef:	74 6a                	je     0x57815b
5780f1:	8b 44 24 18          	mov    0x18(%esp),%eax
5780f5:	85 c0                	test   %eax,%eax
5780f7:	74 0f                	je     0x578108
5780f9:	50                   	push   %eax
5780fa:	e8 b1 66 f3 ff       	call   0x4ae7b0
5780ff:	8b f8                	mov    %eax,%edi
578101:	83 c4 04             	add    $0x4,%esp
578104:	85 ff                	test   %edi,%edi
578106:	74 53                	je     0x57815b
578108:	6a 5b                	push   $0x5b
57810a:	68 bc d3 6b 00       	push   $0x6bd3bc
57810f:	6a 0c                	push   $0xc
578111:	e8 9a 80 f2 ff       	call   0x4a01b0
578116:	8b f0                	mov    %eax,%esi
578118:	83 c4 0c             	add    $0xc,%esp
57811b:	85 f6                	test   %esi,%esi
57811d:	74 3c                	je     0x57815b
57811f:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
578123:	83 7d 00 00          	cmpl   $0x0,0x0(%ebp)
578127:	75 0c                	jne    0x578135
578129:	e8 d2 64 f3 ff       	call   0x4ae600
57812e:	89 45 00             	mov    %eax,0x0(%ebp)
578131:	85 c0                	test   %eax,%eax
578133:	74 26                	je     0x57815b
578135:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
57813b:	89 5e 04             	mov    %ebx,0x4(%esi)
57813e:	89 7e 08             	mov    %edi,0x8(%esi)
578141:	56                   	push   %esi
578142:	ff 75 00             	push   0x0(%ebp)
578145:	e8 46 65 f3 ff       	call   0x4ae690
57814a:	83 c4 08             	add    $0x8,%esp
57814d:	85 c0                	test   %eax,%eax
57814f:	74 0a                	je     0x57815b
578151:	5f                   	pop    %edi
578152:	5e                   	pop    %esi
578153:	5d                   	pop    %ebp
578154:	b8 01 00 00 00       	mov    $0x1,%eax
578159:	5b                   	pop    %ebx
57815a:	c3                   	ret
57815b:	6a 66                	push   $0x66
57815d:	68 bc d3 6b 00       	push   $0x6bd3bc
578162:	6a 41                	push   $0x41
578164:	6a 69                	push   $0x69
578166:	6a 22                	push   $0x22
578168:	e8 33 93 f2 ff       	call   0x4a14a0
57816d:	83 c4 14             	add    $0x14,%esp
578170:	85 f6                	test   %esi,%esi
578172:	74 09                	je     0x57817d
578174:	56                   	push   %esi
578175:	e8 b6 7f f2 ff       	call   0x4a0130
57817a:	83 c4 04             	add    $0x4,%esp
57817d:	85 db                	test   %ebx,%ebx
57817f:	74 09                	je     0x57818a
578181:	53                   	push   %ebx
578182:	e8 a9 7f f2 ff       	call   0x4a0130
578187:	83 c4 04             	add    $0x4,%esp
57818a:	85 ff                	test   %edi,%edi
57818c:	74 09                	je     0x578197
57818e:	57                   	push   %edi
57818f:	e8 9c 7f f2 ff       	call   0x4a0130
578194:	83 c4 04             	add    $0x4,%esp
578197:	5f                   	pop    %edi
578198:	5e                   	pop    %esi
578199:	5d                   	pop    %ebp
57819a:	33 c0                	xor    %eax,%eax
57819c:	5b                   	pop    %ebx
57819d:	c3                   	ret
57819e:	cc                   	int3
57819f:	cc                   	int3