578e7c:	eb 5c                	jmp    0x578eda
578e7e:	8b 53 14             	mov    0x14(%ebx),%edx
578e81:	89 53 1c             	mov    %edx,0x1c(%ebx)
578e84:	8b 4b 10             	mov    0x10(%ebx),%ecx
578e87:	89 4b 18             	mov    %ecx,0x18(%ebx)
578e8a:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
578e8e:	83 ff ff             	cmp    $0xffffffff,%edi
578e91:	74 45                	je     0x578ed8
578e93:	8b 43 1c             	mov    0x1c(%ebx),%eax
578e96:	85 c0                	test   %eax,%eax
578e98:	7f 17                	jg     0x578eb1
578e9a:	68 59 03 00 00       	push   $0x359
578e9f:	68 be 2b 6a 00       	push   $0x6a2bbe
578ea4:	68 ad 2b 6a 00       	push   $0x6a2bad
578ea9:	e8 92 1c fe ff       	call   0x55ab40
578eae:	83 c4 0c             	add    $0xc,%esp
578eb1:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
578eb5:	ff 4b 1c             	decl   0x1c(%ebx)
578eb8:	79 11                	jns    0x578ecb
578eba:	8b d7                	mov    %edi,%edx
578ebc:	8b c3                	mov    %ebx,%eax
578ebe:	81 e2 ff 00 00 00    	and    $0xff,%edx
578ec4:	e8 4f ff ff ff       	call   0x578e18
578ec9:	eb 0d                	jmp    0x578ed8
578ecb:	ff 43 3c             	incl   0x3c(%ebx)
578ece:	8b cf                	mov    %edi,%ecx
578ed0:	8b 43 18             	mov    0x18(%ebx),%eax
578ed3:	ff 43 18             	incl   0x18(%ebx)
578ed6:	88 08                	mov    %cl,(%eax)
578ed8:	33 c0                	xor    %eax,%eax
578eda:	5d                   	pop    %ebp
578edb:	5f                   	pop    %edi
578edc:	5e                   	pop    %esi
578edd:	5b                   	pop    %ebx
578ede:	c3                   	ret
578edf:	90                   	nop
578ee0:	33 c9                	xor    %ecx,%ecx
578ee2:	eb 3a                	jmp    0x578f1e
578ee4:	0f be d2             	movsbl %dl,%edx
578ee7:	83 fa 62             	cmp    $0x62,%edx
578eea:	7f 0e                	jg     0x578efa
578eec:	74 22                	je     0x578f10
578eee:	83 ea 2b             	sub    $0x2b,%edx
578ef1:	74 27                	je     0x578f1a
578ef3:	83 ea 36             	sub    $0x36,%edx
578ef6:	74 1d                	je     0x578f15
578ef8:	eb 23                	jmp    0x578f1d
578efa:	83 ea 72             	sub    $0x72,%edx
578efd:	74 07                	je     0x578f06
578eff:	83 ea 05             	sub    $0x5,%edx
578f02:	74 07                	je     0x578f0b
578f04:	eb 17                	jmp    0x578f1d
578f06:	83 c9 01             	or     $0x1,%ecx
578f09:	eb 12                	jmp    0x578f1d
578f0b:	83 c9 12             	or     $0x12,%ecx
578f0e:	eb 0d                	jmp    0x578f1d
578f10:	83 c9 08             	or     $0x8,%ecx
578f13:	eb 08                	jmp    0x578f1d
578f15:	83 c9 04             	or     $0x4,%ecx
578f18:	eb 03                	jmp    0x578f1d
578f1a:	83 c9 03             	or     $0x3,%ecx
578f1d:	40                   	inc    %eax
578f1e:	8a 10                	mov    (%eax),%dl
578f20:	84 d2                	test   %dl,%dl
578f22:	75 c0                	jne    0x578ee4
578f24:	8b c1                	mov    %ecx,%eax
578f26:	c3                   	ret
578f27:	90                   	nop
578f28:	53                   	push   %ebx
578f29:	56                   	push   %esi
578f2a:	57                   	push   %edi
578f2b:	55                   	push   %ebp
578f2c:	51                   	push   %ecx
578f2d:	8b f2                	mov    %edx,%esi
578f2f:	8b d8                	mov    %eax,%ebx
578f31:	85 c9                	test   %ecx,%ecx
578f33:	7d 07                	jge    0x578f3c
578f35:	b8 01 00 00 00       	mov    $0x1,%eax
578f3a:	eb 02                	jmp    0x578f3e
578f3c:	33 c0                	xor    %eax,%eax
578f3e:	89 04 24             	mov    %eax,(%esp)
578f41:	8b e9                	mov    %ecx,%ebp
578f43:	e9 bc 00 00 00       	jmp    0x579004
578f48:	f6 46 08 07          	testb  $0x7,0x8(%esi)
578f4c:	75 3d                	jne    0x578f8b
578f4e:	8b 46 40             	mov    0x40(%esi),%eax
578f51:	85 c0                	test   %eax,%eax
578f53:	7c 13                	jl     0x578f68
578f55:	8b 56 40             	mov    0x40(%esi),%edx
578f58:	8b 4e 3c             	mov    0x3c(%esi),%ecx
578f5b:	3b d1                	cmp    %ecx,%edx
578f5d:	7f 09                	jg     0x578f68
578f5f:	83 4e 08 04          	orl    $0x4,0x8(%esi)
578f63:	83 cf ff             	or     $0xffffffff,%edi
578f66:	eb 26                	jmp    0x578f8e
578f68:	ff 4e 1c             	decl   0x1c(%esi)
578f6b:	79 10                	jns    0x578f7d
578f6d:	ba 01 00 00 00       	mov    $0x1,%edx
578f72:	8b c6                	mov    %esi,%eax
578f74:	e8 af fd ff ff       	call   0x578d28
578f79:	8b f8                	mov    %eax,%edi
578f7b:	eb 11                	jmp    0x578f8e
578f7d:	ff 46 3c             	incl   0x3c(%esi)
578f80:	8b 46 18             	mov    0x18(%esi),%eax
578f83:	ff 46 18             	incl   0x18(%esi)
578f86:	0f b6 38             	movzbl (%eax),%edi
578f89:	eb 03                	jmp    0x578f8e
578f8b:	83 cf ff             	or     $0xffffffff,%edi
578f8e:	83 ff ff             	cmp    $0xffffffff,%edi
578f91:	75 16                	jne    0x578fa9
578f93:	8b 04 24             	mov    (%esp),%eax
578f96:	85 c0                	test   %eax,%eax
578f98:	74 06                	je     0x578fa0
578f9a:	f6 46 08 02          	testb  $0x2,0x8(%esi)
578f9e:	74 05                	je     0x578fa5
578fa0:	83 c8 ff             	or     $0xffffffff,%eax
578fa3:	eb 74                	jmp    0x579019
578fa5:	33 c0                	xor    %eax,%eax
578fa7:	eb 70                	jmp    0x579019
578fa9:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
578fad:	75 49                	jne    0x578ff8
578faf:	8b 53 40             	mov    0x40(%ebx),%edx
578fb2:	85 d2                	test   %edx,%edx
578fb4:	7c 13                	jl     0x578fc9
578fb6:	8b 4b 40             	mov    0x40(%ebx),%ecx
578fb9:	8b 43 3c             	mov    0x3c(%ebx),%eax
578fbc:	3b c8                	cmp    %eax,%ecx
578fbe:	7f 09                	jg     0x578fc9
578fc0:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
578fc4:	83 ca ff             	or     $0xffffffff,%edx
578fc7:	eb 32                	jmp    0x578ffb
578fc9:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
578fcd:	ff 4b 1c             	decl   0x1c(%ebx)
578fd0:	79 13                	jns    0x578fe5
578fd2:	8b d7                	mov    %edi,%edx
578fd4:	8b c3                	mov    %ebx,%eax
578fd6:	81 e2 ff 00 00 00    	and    $0xff,%edx
578fdc:	e8 37 fe ff ff       	call   0x578e18
578fe1:	8b d0                	mov    %eax,%edx
578fe3:	eb 16                	jmp    0x578ffb
578fe5:	ff 43 3c             	incl   0x3c(%ebx)
578fe8:	8b c7                	mov    %edi,%eax
578fea:	8b 4b 18             	mov    0x18(%ebx),%ecx
578fed:	ff 43 18             	incl   0x18(%ebx)
578ff0:	88 01                	mov    %al,(%ecx)
578ff2:	33 d2                	xor    %edx,%edx
578ff4:	8a d0                	mov    %al,%dl
578ff6:	eb 03                	jmp    0x578ffb
578ff8:	83 ca ff             	or     $0xffffffff,%edx
578ffb:	42                   	inc    %edx
578ffc:	75 05                	jne    0x579003
578ffe:	83 c8 ff             	or     $0xffffffff,%eax
579001:	eb 16                	jmp    0x579019
579003:	4d                   	dec    %ebp
579004:	8b 0c 24             	mov    (%esp),%ecx
579007:	85 c9                	test   %ecx,%ecx
579009:	0f 85 39 ff ff ff    	jne    0x578f48
57900f:	85 ed                	test   %ebp,%ebp
579011:	0f 8f 31 ff ff ff    	jg     0x578f48
579017:	33 c0                	xor    %eax,%eax
579019:	5a                   	pop    %edx
57901a:	5d                   	pop    %ebp
57901b:	5f                   	pop    %edi
57901c:	5e                   	pop    %esi
57901d:	5b                   	pop    %ebx
57901e:	c3                   	ret
57901f:	90                   	nop
579020:	8b 48 3c             	mov    0x3c(%eax),%ecx
579023:	89 50 3c             	mov    %edx,0x3c(%eax)
579026:	8b c1                	mov    %ecx,%eax
579028:	c3                   	ret
579029:	90                   	nop
57902a:	90                   	nop
57902b:	90                   	nop
57902c:	53                   	push   %ebx
57902d:	56                   	push   %esi
57902e:	57                   	push   %edi
57902f:	55                   	push   %ebp
579030:	83 c4 d8             	add    $0xffffffd8,%esp
579033:	89 4c 24 04          	mov    %ecx,0x4(%esp)
579037:	89 14 24             	mov    %edx,(%esp)
57903a:	8b d8                	mov    %eax,%ebx
57903c:	8b 44 24 04          	mov    0x4(%esp),%eax
579040:	25 0f 00 00 80       	and    $0x8000000f,%eax
579045:	79 05                	jns    0x57904c
579047:	48                   	dec    %eax
579048:	83 c8 f0             	or     $0xfffffff0,%eax
57904b:	40                   	inc    %eax
57904c:	8b 54 24 04          	mov    0x4(%esp),%edx
579050:	33 c9                	xor    %ecx,%ecx
579052:	2b d0                	sub    %eax,%edx
579054:	89 54 24 14          	mov    %edx,0x14(%esp)
579058:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
57905f:	00
579060:	89 4c 24 08          	mov    %ecx,0x8(%esp)
579064:	8b 44 24 08          	mov    0x8(%esp),%eax
579068:	8b 54 24 04          	mov    0x4(%esp),%edx
57906c:	3b c2                	cmp    %edx,%eax
57906e:	0f 8d 9d 01 00 00    	jge    0x579211
579074:	8b 4c 24 04          	mov    0x4(%esp),%ecx
579078:	83 f9 10             	cmp    $0x10,%ecx
57907b:	7e 21                	jle    0x57909e
57907d:	8b 44 24 08          	mov    0x8(%esp),%eax
579081:	85 c0                	test   %eax,%eax
579083:	7e 19                	jle    0x57909e
579085:	8b 54 24 08          	mov    0x8(%esp),%edx
579089:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57908d:	3b d1                	cmp    %ecx,%edx
57908f:	7c 07                	jl     0x579098
579091:	b8 01 00 00 00       	mov    $0x1,%eax
579096:	eb 02                	jmp    0x57909a
579098:	33 c0                	xor    %eax,%eax
57909a:	89 44 24 10          	mov    %eax,0x10(%esp)
57909e:	8b 54 24 10          	mov    0x10(%esp),%edx
5790a2:	85 d2                	test   %edx,%edx
5790a4:	74 17                	je     0x5790bd
5790a6:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5790aa:	51                   	push   %ecx
5790ab:	68 cb 2b 6a 00       	push   $0x6a2bcb
5790b0:	8b 44 24 08          	mov    0x8(%esp),%eax
5790b4:	50                   	push   %eax
5790b5:	e8 12 10 00 00       	call   0x57a0cc
5790ba:	83 c4 0c             	add    $0xc,%esp
5790bd:	8b 54 24 04          	mov    0x4(%esp),%edx
5790c1:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5790c5:	2b d1                	sub    %ecx,%edx
5790c7:	83 fa 10             	cmp    $0x10,%edx
5790ca:	7d 0c                	jge    0x5790d8
5790cc:	8b 6c 24 04          	mov    0x4(%esp),%ebp
5790d0:	8b 44 24 08          	mov    0x8(%esp),%eax
5790d4:	2b e8                	sub    %eax,%ebp
5790d6:	eb 05                	jmp    0x5790dd
5790d8:	bd 10 00 00 00       	mov    $0x10,%ebp
5790dd:	33 f6                	xor    %esi,%esi
5790df:	8d 7c 24 18          	lea    0x18(%esp),%edi
5790e3:	3b ee                	cmp    %esi,%ebp
5790e5:	7e 65                	jle    0x57914c
5790e7:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5790eb:	75 3c                	jne    0x579129
5790ed:	8b 43 40             	mov    0x40(%ebx),%eax
5790f0:	85 c0                	test   %eax,%eax
5790f2:	7c 13                	jl     0x579107
5790f4:	8b 53 40             	mov    0x40(%ebx),%edx
5790f7:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
5790fa:	3b d1                	cmp    %ecx,%edx
5790fc:	7f 09                	jg     0x579107
5790fe:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
579102:	83 c8 ff             	or     $0xffffffff,%eax
579105:	eb 25                	jmp    0x57912c
579107:	ff 4b 1c             	decl   0x1c(%ebx)
57910a:	79 0e                	jns    0x57911a
57910c:	ba 01 00 00 00       	mov    $0x1,%edx
579111:	8b c3                	mov    %ebx,%eax
579113:	e8 10 fc ff ff       	call   0x578d28
579118:	eb 12                	jmp    0x57912c
57911a:	ff 43 3c             	incl   0x3c(%ebx)
57911d:	8b 53 18             	mov    0x18(%ebx),%edx
579120:	ff 43 18             	incl   0x18(%ebx)
579123:	33 c0                	xor    %eax,%eax
579125:	8a 02                	mov    (%edx),%al
579127:	eb 03                	jmp    0x57912c
579129:	83 c8 ff             	or     $0xffffffff,%eax
57912c:	89 44 24 0c          	mov    %eax,0xc(%esp)
579130:	40                   	inc    %eax
579131:	75 0d                	jne    0x579140
579133:	e8 10 1a fe ff       	call   0x55ab48
579138:	83 c8 ff             	or     $0xffffffff,%eax
57913b:	e9 d3 00 00 00       	jmp    0x579213
579140:	8a 54 24 0c          	mov    0xc(%esp),%dl
579144:	46                   	inc    %esi
579145:	88 17                	mov    %dl,(%edi)
579147:	47                   	inc    %edi
579148:	3b ee                	cmp    %esi,%ebp
57914a:	7f 9b                	jg     0x5790e7
57914c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
579150:	85 c9                	test   %ecx,%ecx
579152:	0f 84 a4 00 00 00    	je     0x5791fc
579158:	33 f6                	xor    %esi,%esi
57915a:	8d 7c 24 18          	lea    0x18(%esp),%edi
57915e:	3b ee                	cmp    %esi,%ebp
579160:	7e 1d                	jle    0x57917f
579162:	33 c0                	xor    %eax,%eax
579164:	8a 07                	mov    (%edi),%al
579166:	50                   	push   %eax
579167:	68 d1 2b 6a 00       	push   $0x6a2bd1
57916c:	8b 54 24 08          	mov    0x8(%esp),%edx
579170:	52                   	push   %edx
579171:	e8 56 0f 00 00       	call   0x57a0cc
579176:	83 c4 0c             	add    $0xc,%esp
579179:	46                   	inc    %esi
57917a:	47                   	inc    %edi
57917b:	3b ee                	cmp    %esi,%ebp
57917d:	7f e3                	jg     0x579162
57917f:	8b 0c 24             	mov    (%esp),%ecx
579182:	51                   	push   %ecx
579183:	6a 20                	push   $0x20
579185:	e8 1a 1a fe ff       	call   0x55aba4
57918a:	83 c4 08             	add    $0x8,%esp
57918d:	83 fe 10             	cmp    $0x10,%esi
579190:	7d 18                	jge    0x5791aa
579192:	68 d7 2b 6a 00       	push   $0x6a2bd7
579197:	8b 44 24 04          	mov    0x4(%esp),%eax
57919b:	50                   	push   %eax
57919c:	e8 2b 0f 00 00       	call   0x57a0cc
5791a1:	83 c4 08             	add    $0x8,%esp
5791a4:	46                   	inc    %esi
5791a5:	83 fe 10             	cmp    $0x10,%esi
5791a8:	7c e8                	jl     0x579192
5791aa:	33 f6                	xor    %esi,%esi
5791ac:	8d 7c 24 18          	lea    0x18(%esp),%edi
5791b0:	3b ee                	cmp    %esi,%ebp
5791b2:	7e 36                	jle    0x5791ea
5791b4:	33 c0                	xor    %eax,%eax
5791b6:	8a 07                	mov    (%edi),%al
5791b8:	50                   	push   %eax
5791b9:	e8 a2 1e fe ff       	call   0x55b060
5791be:	59                   	pop    %ecx
5791bf:	85 c0                	test   %eax,%eax
5791c1:	74 13                	je     0x5791d6
5791c3:	8b 14 24             	mov    (%esp),%edx
5791c6:	52                   	push   %edx
5791c7:	33 c9                	xor    %ecx,%ecx
5791c9:	8a 0f                	mov    (%edi),%cl
5791cb:	51                   	push   %ecx
5791cc:	e8 d3 19 fe ff       	call   0x55aba4
5791d1:	83 c4 08             	add    $0x8,%esp
5791d4:	eb 0e                	jmp    0x5791e4
5791d6:	8b 04 24             	mov    (%esp),%eax
5791d9:	50                   	push   %eax
5791da:	6a 20                	push   $0x20
5791dc:	e8 c3 19 fe ff       	call   0x55aba4
5791e1:	83 c4 08             	add    $0x8,%esp
5791e4:	46                   	inc    %esi
5791e5:	47                   	inc    %edi
5791e6:	3b ee                	cmp    %esi,%ebp
5791e8:	7f ca                	jg     0x5791b4
5791ea:	68 db 2b 6a 00       	push   $0x6a2bdb
5791ef:	8b 54 24 04          	mov    0x4(%esp),%edx
5791f3:	52                   	push   %edx
5791f4:	e8 d3 0e 00 00       	call   0x57a0cc
5791f9:	83 c4 08             	add    $0x8,%esp
5791fc:	83 44 24 08 10       	addl   $0x10,0x8(%esp)
579201:	8b 4c 24 08          	mov    0x8(%esp),%ecx
579205:	8b 44 24 04          	mov    0x4(%esp),%eax
579209:	3b c8                	cmp    %eax,%ecx
57920b:	0f 8c 63 fe ff ff    	jl     0x579074
579211:	33 c0                	xor    %eax,%eax
579213:	83 c4 28             	add    $0x28,%esp
579216:	5d                   	pop    %ebp
579217:	5f                   	pop    %edi