578f15:	81 4e 04 00 01 00 00 	orl    $0x100,0x4(%esi)
578f1c:	5f                   	pop    %edi
578f1d:	8b c6                	mov    %esi,%eax
578f1f:	5e                   	pop    %esi
578f20:	59                   	pop    %ecx
578f21:	c3                   	ret
578f22:	ff 74 24 08          	push   0x8(%esp)
578f26:	e8 b5 a2 f3 ff       	call   0x4b31e0
578f2b:	68 cd 00 00 00       	push   $0xcd
578f30:	68 bc d3 6b 00       	push   $0x6bd3bc
578f35:	6a 64                	push   $0x64
578f37:	6a 6c                	push   $0x6c
578f39:	6a 22                	push   $0x22
578f3b:	e8 60 85 f2 ff       	call   0x4a14a0
578f40:	83 c4 18             	add    $0x18,%esp
578f43:	33 c0                	xor    %eax,%eax
578f45:	5f                   	pop    %edi
578f46:	5e                   	pop    %esi
578f47:	59                   	pop    %ecx
578f48:	c3                   	ret
578f49:	cc                   	int3
578f4a:	cc                   	int3
578f4b:	cc                   	int3
578f4c:	cc                   	int3
578f4d:	cc                   	int3
578f4e:	cc                   	int3
578f4f:	cc                   	int3
578f50:	56                   	push   %esi
578f51:	8b 74 24 08          	mov    0x8(%esp),%esi
578f55:	85 f6                	test   %esi,%esi
578f57:	75 1c                	jne    0x578f75
578f59:	68 ba 01 00 00       	push   $0x1ba
578f5e:	68 bc d3 6b 00       	push   $0x6bd3bc
578f63:	6a 6b                	push   $0x6b
578f65:	6a 71                	push   $0x71
578f67:	6a 22                	push   $0x22
578f69:	e8 32 85 f2 ff       	call   0x4a14a0
578f6e:	83 c4 14             	add    $0x14,%esp
578f71:	33 c0                	xor    %eax,%eax
578f73:	5e                   	pop    %esi
578f74:	c3                   	ret
578f75:	8b ce                	mov    %esi,%ecx
578f77:	8d 51 01             	lea    0x1(%ecx),%edx
578f7a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
578f80:	8a 01                	mov    (%ecx),%al
578f82:	41                   	inc    %ecx
578f83:	84 c0                	test   %al,%al
578f85:	75 f9                	jne    0x578f80
578f87:	57                   	push   %edi
578f88:	2b ca                	sub    %edx,%ecx
578f8a:	68 bd 01 00 00       	push   $0x1bd
578f8f:	d1 f9                	sar    $1,%ecx
578f91:	68 bc d3 6b 00       	push   $0x6bd3bc
578f96:	51                   	push   %ecx
578f97:	e8 14 72 f2 ff       	call   0x4a01b0
578f9c:	8b f8                	mov    %eax,%edi
578f9e:	83 c4 0c             	add    $0xc,%esp
578fa1:	89 7c 24 0c          	mov    %edi,0xc(%esp)
578fa5:	85 ff                	test   %edi,%edi
578fa7:	75 1d                	jne    0x578fc6
578fa9:	68 ed 01 00 00       	push   $0x1ed
578fae:	68 bc d3 6b 00       	push   $0x6bd3bc
578fb3:	6a 41                	push   $0x41
578fb5:	6a 71                	push   $0x71
578fb7:	6a 22                	push   $0x22
578fb9:	e8 e2 84 f2 ff       	call   0x4a14a0
578fbe:	83 c4 14             	add    $0x14,%esp
578fc1:	33 c0                	xor    %eax,%eax
578fc3:	5f                   	pop    %edi
578fc4:	5e                   	pop    %esi
578fc5:	c3                   	ret
578fc6:	80 3e 00             	cmpb   $0x0,(%esi)
578fc9:	53                   	push   %ebx
578fca:	55                   	push   %ebp
578fcb:	8b ef                	mov    %edi,%ebp
578fcd:	0f 84 8b 00 00 00    	je     0x57905e
578fd3:	8a 1e                	mov    (%esi),%bl
578fd5:	46                   	inc    %esi
578fd6:	80 fb 3a             	cmp    $0x3a,%bl
578fd9:	74 76                	je     0x579051
578fdb:	8a 3e                	mov    (%esi),%bh
578fdd:	46                   	inc    %esi
578fde:	84 ff                	test   %bh,%bh
578fe0:	0f 84 b3 00 00 00    	je     0x579099
578fe6:	0f b6 fb             	movzbl %bl,%edi
578fe9:	57                   	push   %edi
578fea:	e8 25 df 07 00       	call   0x5f6f14
578fef:	83 c4 04             	add    $0x4,%esp
578ff2:	85 c0                	test   %eax,%eax
578ff4:	74 0b                	je     0x579001
578ff6:	57                   	push   %edi
578ff7:	e8 2c e9 07 00       	call   0x5f7928
578ffc:	83 c4 04             	add    $0x4,%esp
578fff:	8a d8                	mov    %al,%bl
579001:	0f b6 ff             	movzbl %bh,%edi
579004:	57                   	push   %edi
579005:	e8 0a df 07 00       	call   0x5f6f14
57900a:	83 c4 04             	add    $0x4,%esp
57900d:	85 c0                	test   %eax,%eax
57900f:	74 0b                	je     0x57901c
579011:	57                   	push   %edi
579012:	e8 11 e9 07 00       	call   0x5f7928
579017:	83 c4 04             	add    $0x4,%esp
57901a:	8a f8                	mov    %al,%bh
57901c:	8d 43 d0             	lea    -0x30(%ebx),%eax
57901f:	3c 09                	cmp    $0x9,%al
579021:	77 04                	ja     0x579027
579023:	8a d8                	mov    %al,%bl
579025:	eb 0a                	jmp    0x579031
579027:	8d 43 9f             	lea    -0x61(%ebx),%eax
57902a:	3c 05                	cmp    $0x5,%al
57902c:	77 43                	ja     0x579071
57902e:	80 c3 a9             	add    $0xa9,%bl
579031:	8a c7                	mov    %bh,%al
579033:	2c 30                	sub    $0x30,%al
579035:	3c 09                	cmp    $0x9,%al
579037:	77 04                	ja     0x57903d
579039:	8a f8                	mov    %al,%bh
57903b:	eb 0b                	jmp    0x579048
57903d:	8a c7                	mov    %bh,%al
57903f:	2c 61                	sub    $0x61,%al
579041:	3c 05                	cmp    $0x5,%al
579043:	77 2c                	ja     0x579071
579045:	80 c7 a9             	add    $0xa9,%bh
579048:	c0 e3 04             	shl    $0x4,%bl
57904b:	0a df                	or     %bh,%bl
57904d:	88 5d 00             	mov    %bl,0x0(%ebp)
579050:	45                   	inc    %ebp
579051:	80 3e 00             	cmpb   $0x0,(%esi)
579054:	0f 85 79 ff ff ff    	jne    0x578fd3
57905a:	8b 7c 24 14          	mov    0x14(%esp),%edi
57905e:	8b 44 24 18          	mov    0x18(%esp),%eax
579062:	85 c0                	test   %eax,%eax
579064:	74 04                	je     0x57906a
579066:	2b ef                	sub    %edi,%ebp
579068:	89 28                	mov    %ebp,(%eax)
57906a:	5d                   	pop    %ebp
57906b:	5b                   	pop    %ebx
57906c:	8b c7                	mov    %edi,%eax
57906e:	5f                   	pop    %edi
57906f:	5e                   	pop    %esi
579070:	c3                   	ret
579071:	ff 74 24 14          	push   0x14(%esp)
579075:	e8 b6 70 f2 ff       	call   0x4a0130
57907a:	68 f2 01 00 00       	push   $0x1f2
57907f:	68 bc d3 6b 00       	push   $0x6bd3bc
579084:	6a 71                	push   $0x71
579086:	6a 71                	push   $0x71
579088:	6a 22                	push   $0x22
57908a:	e8 11 84 f2 ff       	call   0x4a14a0
57908f:	83 c4 18             	add    $0x18,%esp
579092:	33 c0                	xor    %eax,%eax
579094:	5d                   	pop    %ebp
579095:	5b                   	pop    %ebx
579096:	5f                   	pop    %edi
579097:	5e                   	pop    %esi
579098:	c3                   	ret
579099:	68 cb 01 00 00       	push   $0x1cb
57909e:	68 bc d3 6b 00       	push   $0x6bd3bc
5790a3:	6a 70                	push   $0x70
5790a5:	6a 71                	push   $0x71
5790a7:	6a 22                	push   $0x22
5790a9:	e8 f2 83 f2 ff       	call   0x4a14a0
5790ae:	ff 74 24 28          	push   0x28(%esp)
5790b2:	e8 79 70 f2 ff       	call   0x4a0130
5790b7:	83 c4 18             	add    $0x18,%esp
5790ba:	33 c0                	xor    %eax,%eax
5790bc:	5d                   	pop    %ebp
5790bd:	5b                   	pop    %ebx
5790be:	5f                   	pop    %edi
5790bf:	5e                   	pop    %esi
5790c0:	c3                   	ret
5790c1:	cc                   	int3
5790c2:	cc                   	int3
5790c3:	cc                   	int3
5790c4:	cc                   	int3
5790c5:	cc                   	int3
5790c6:	cc                   	int3
5790c7:	cc                   	int3
5790c8:	cc                   	int3
5790c9:	cc                   	int3
5790ca:	cc                   	int3
5790cb:	cc                   	int3
5790cc:	cc                   	int3
5790cd:	cc                   	int3
5790ce:	cc                   	int3
5790cf:	cc                   	int3
5790d0:	56                   	push   %esi
5790d1:	8b 74 24 08          	mov    0x8(%esp),%esi
5790d5:	80 3e 00             	cmpb   $0x0,(%esi)
5790d8:	74 25                	je     0x5790ff
5790da:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5790e0:	0f b6 06             	movzbl (%esi),%eax
5790e3:	50                   	push   %eax
5790e4:	e8 fa dd 07 00       	call   0x5f6ee3
5790e9:	83 c4 04             	add    $0x4,%esp
5790ec:	85 c0                	test   %eax,%eax
5790ee:	74 0a                	je     0x5790fa
5790f0:	46                   	inc    %esi
5790f1:	80 3e 00             	cmpb   $0x0,(%esi)
5790f4:	75 ea                	jne    0x5790e0
5790f6:	33 c0                	xor    %eax,%eax
5790f8:	5e                   	pop    %esi
5790f9:	c3                   	ret
5790fa:	80 3e 00             	cmpb   $0x0,(%esi)
5790fd:	75 04                	jne    0x579103
5790ff:	33 c0                	xor    %eax,%eax
579101:	5e                   	pop    %esi
579102:	c3                   	ret
579103:	8b ce                	mov    %esi,%ecx
579105:	8d 51 01             	lea    0x1(%ecx),%edx
579108:	8a 01                	mov    (%ecx),%al
57910a:	41                   	inc    %ecx
57910b:	84 c0                	test   %al,%al
57910d:	75 f9                	jne    0x579108
57910f:	57                   	push   %edi
579110:	2b ca                	sub    %edx,%ecx
579112:	8d 7e ff             	lea    -0x1(%esi),%edi
579115:	03 f9                	add    %ecx,%edi
579117:	3b fe                	cmp    %esi,%edi
579119:	74 2e                	je     0x579149
57911b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
579120:	0f b6 07             	movzbl (%edi),%eax
579123:	50                   	push   %eax
579124:	e8 ba dd 07 00       	call   0x5f6ee3
579129:	83 c4 04             	add    $0x4,%esp
57912c:	85 c0                	test   %eax,%eax
57912e:	74 11                	je     0x579141
579130:	4f                   	dec    %edi
579131:	3b fe                	cmp    %esi,%edi
579133:	75 eb                	jne    0x579120
579135:	33 c0                	xor    %eax,%eax
579137:	38 06                	cmp    %al,(%esi)
579139:	5f                   	pop    %edi
57913a:	0f 44 f0             	cmove  %eax,%esi
57913d:	8b c6                	mov    %esi,%eax
57913f:	5e                   	pop    %esi
579140:	c3                   	ret
579141:	3b f7                	cmp    %edi,%esi
579143:	74 04                	je     0x579149
579145:	c6 47 01 00          	movb   $0x0,0x1(%edi)
579149:	33 c0                	xor    %eax,%eax
57914b:	38 06                	cmp    %al,(%esi)
57914d:	5f                   	pop    %edi
57914e:	0f 44 f0             	cmove  %eax,%esi
579151:	8b c6                	mov    %esi,%eax
579153:	5e                   	pop    %esi
579154:	c3                   	ret
579155:	cc                   	int3
579156:	cc                   	int3
579157:	cc                   	int3
579158:	cc                   	int3
579159:	cc                   	int3
57915a:	cc                   	int3
57915b:	cc                   	int3
57915c:	cc                   	int3
57915d:	cc                   	int3
57915e:	cc                   	int3
57915f:	cc                   	int3
579160:	8b 4c 24 04          	mov    0x4(%esp),%ecx
579164:	8b 44 24 08          	mov    0x8(%esp),%eax
579168:	c7 01 02 00 00 00    	movl   $0x2,(%ecx)
57916e:	89 41 04             	mov    %eax,0x4(%ecx)
579171:	c7 41 08 80 91 57 00 	movl   $0x579180,0x8(%ecx)
579178:	c3                   	ret
579179:	cc                   	int3
57917a:	cc                   	int3
57917b:	cc                   	int3
57917c:	cc                   	int3
57917d:	cc                   	int3
57917e:	cc                   	int3
57917f:	cc                   	int3
579180:	8b 44 24 0c          	mov    0xc(%esp),%eax
579184:	8b 50 04             	mov    0x4(%eax),%edx
579187:	8b 44 24 04          	mov    0x4(%esp),%eax
57918b:	52                   	push   %edx
57918c:	8b 4a 20             	mov    0x20(%edx),%ecx
57918f:	89 01                	mov    %eax,(%ecx)
579191:	8b 4a 20             	mov    0x20(%edx),%ecx
579194:	8b 44 24 0c          	mov    0xc(%esp),%eax
579198:	89 41 04             	mov    %eax,0x4(%ecx)
57919b:	8b 42 1c             	mov    0x1c(%edx),%eax
57919e:	ff d0                	call   *%eax
5791a0:	83 c4 04             	add    $0x4,%esp
5791a3:	c3                   	ret
5791a4:	cc                   	int3
5791a5:	cc                   	int3
5791a6:	cc                   	int3
5791a7:	cc                   	int3
5791a8:	cc                   	int3
5791a9:	cc                   	int3
5791aa:	cc                   	int3
5791ab:	cc                   	int3
5791ac:	cc                   	int3
5791ad:	cc                   	int3
5791ae:	cc                   	int3
5791af:	cc                   	int3
5791b0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5791b4:	8b 41 44             	mov    0x44(%ecx),%eax
5791b7:	8b 40 20             	mov    0x20(%eax),%eax
5791ba:	85 c0                	test   %eax,%eax
5791bc:	74 06                	je     0x5791c4
5791be:	89 4c 24 04          	mov    %ecx,0x4(%esp)
5791c2:	ff e0                	jmp    *%eax
5791c4:	89 4c 24 04          	mov    %ecx,0x4(%esp)
5791c8:	e9 03 00 00 00       	jmp    0x5791d0
5791cd:	cc                   	int3
5791ce:	cc                   	int3
5791cf:	cc                   	int3
5791d0:	b8 04 00 00 00       	mov    $0x4,%eax
5791d5:	e8 16 83 06 00       	call   0x5e14f0
5791da:	53                   	push   %ebx
5791db:	55                   	push   %ebp
5791dc:	56                   	push   %esi
5791dd:	57                   	push   %edi
5791de:	e8 3d ec f5 ff       	call   0x4d7e20
5791e3:	8b f0                	mov    %eax,%esi
5791e5:	85 f6                	test   %esi,%esi
5791e7:	74 6e                	je     0x579257
5791e9:	56                   	push   %esi
5791ea:	e8 b1 ec f5 ff       	call   0x4d7ea0
5791ef:	56                   	push   %esi
5791f0:	e8 cb eb f5 ff       	call   0x4d7dc0
5791f5:	8b d8                	mov    %eax,%ebx
5791f7:	56                   	push   %esi
5791f8:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
5791fc:	e8 bf eb f5 ff       	call   0x4d7dc0
579201:	83 c4 0c             	add    $0xc,%esp
579204:	8b e8                	mov    %eax,%ebp
579206:	85 db                	test   %ebx,%ebx
579208:	74 4d                	je     0x579257
57920a:	85 ed                	test   %ebp,%ebp
57920c:	74 49                	je     0x579257
57920e:	8b 5c 24 18          	mov    0x18(%esp),%ebx
579212:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
579216:	75 0c                	jne    0x579224
579218:	e8 f3 a0 f3 ff       	call   0x4b3310
57921d:	89 43 08             	mov    %eax,0x8(%ebx)
579220:	85 c0                	test   %eax,%eax
579222:	74 33                	je     0x579257
579224:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
579228:	75 0c                	jne    0x579236
57922a:	e8 e1 a0 f3 ff       	call   0x4b3310
57922f:	89 43 0c             	mov    %eax,0xc(%ebx)
579232:	85 c0                	test   %eax,%eax
579234:	74 21                	je     0x579257
579236:	8b 7c 24 20          	mov    0x20(%esp),%edi
57923a:	83 ff 01             	cmp    $0x1,%edi
57923d:	7f 4d                	jg     0x57928c
57923f:	68 91 00 00 00       	push   $0x91