575eaa:	8b c6                	mov    %esi,%eax
575eac:	e8 8b 28 00 00       	call   0x57873c
575eb1:	eb 1b                	jmp    0x575ece
575eb3:	66 c7 43 02 00 00    	movw   $0x0,0x2(%ebx)
575eb9:	e8 8e 40 00 00       	call   0x579f4c
575ebe:	85 c0                	test   %eax,%eax
575ec0:	7e 0c                	jle    0x575ece
575ec2:	ba 80 2e 6a 00       	mov    $0x6a2e80,%edx
575ec7:	8b c3                	mov    %ebx,%eax
575ec9:	e8 7a 01 00 00       	call   0x576048
575ece:	66 81 3b 51 ff       	cmpw   $0xff51,(%ebx)
575ed3:	75 09                	jne    0x575ede
575ed5:	0f b7 53 2c          	movzwl 0x2c(%ebx),%edx
575ed9:	8b 0c 24             	mov    (%esp),%ecx
575edc:	89 11                	mov    %edx,(%ecx)
575ede:	8b c3                	mov    %ebx,%eax
575ee0:	5a                   	pop    %edx
575ee1:	5f                   	pop    %edi
575ee2:	5e                   	pop    %esi
575ee3:	5b                   	pop    %ebx
575ee4:	c3                   	ret
575ee5:	90                   	nop
575ee6:	90                   	nop
575ee7:	90                   	nop
575ee8:	53                   	push   %ebx
575ee9:	56                   	push   %esi
575eea:	57                   	push   %edi
575eeb:	55                   	push   %ebp
575eec:	51                   	push   %ecx
575eed:	8b d9                	mov    %ecx,%ebx
575eef:	89 14 24             	mov    %edx,(%esp)
575ef2:	8b f8                	mov    %eax,%edi
575ef4:	66 8b 13             	mov    (%ebx),%dx
575ef7:	8b c7                	mov    %edi,%eax
575ef9:	e8 ee 18 00 00       	call   0x5777ec
575efe:	85 c0                	test   %eax,%eax
575f00:	74 08                	je     0x575f0a
575f02:	83 c8 ff             	or     $0xffffffff,%eax
575f05:	e9 cf 00 00 00       	jmp    0x575fd9
575f0a:	8b 53 60             	mov    0x60(%ebx),%edx
575f0d:	8b 4a 08             	mov    0x8(%edx),%ecx
575f10:	85 c9                	test   %ecx,%ecx
575f12:	0f 84 9a 00 00 00    	je     0x575fb2
575f18:	33 d2                	xor    %edx,%edx
575f1a:	33 c0                	xor    %eax,%eax
575f1c:	e8 fb 24 00 00       	call   0x57841c
575f21:	8b f0                	mov    %eax,%esi
575f23:	85 c0                	test   %eax,%eax
575f25:	75 08                	jne    0x575f2f
575f27:	83 c8 ff             	or     $0xffffffff,%eax
575f2a:	e9 aa 00 00 00       	jmp    0x575fd9
575f2f:	8b c3                	mov    %ebx,%eax
575f31:	8b ce                	mov    %esi,%ecx
575f33:	8b 14 24             	mov    (%esp),%edx
575f36:	8b 68 60             	mov    0x60(%eax),%ebp
575f39:	ff 55 08             	call   *0x8(%ebp)
575f3c:	85 c0                	test   %eax,%eax
575f3e:	74 0f                	je     0x575f4f
575f40:	8b c6                	mov    %esi,%eax
575f42:	e8 f5 27 00 00       	call   0x57873c
575f47:	83 c8 ff             	or     $0xffffffff,%eax
575f4a:	e9 8a 00 00 00       	jmp    0x575fd9
575f4f:	8b c6                	mov    %esi,%eax
575f51:	e8 a2 2c 00 00       	call   0x578bf8
575f56:	8b e8                	mov    %eax,%ebp
575f58:	85 c0                	test   %eax,%eax
575f5a:	7d 0c                	jge    0x575f68
575f5c:	8b c6                	mov    %esi,%eax
575f5e:	e8 d9 27 00 00       	call   0x57873c
575f63:	83 c8 ff             	or     $0xffffffff,%eax
575f66:	eb 71                	jmp    0x575fd9
575f68:	66 89 6b 02          	mov    %bp,0x2(%ebx)
575f6c:	33 c9                	xor    %ecx,%ecx
575f6e:	33 d2                	xor    %edx,%edx
575f70:	8b c6                	mov    %esi,%eax
575f72:	e8 f1 2b 00 00       	call   0x578b68
575f77:	85 c0                	test   %eax,%eax
575f79:	7c 24                	jl     0x575f9f
575f7b:	66 8b 53 02          	mov    0x2(%ebx),%dx
575f7f:	8b c7                	mov    %edi,%eax
575f81:	66 83 c2 02          	add    $0x2,%dx
575f85:	e8 62 18 00 00       	call   0x5777ec
575f8a:	85 c0                	test   %eax,%eax
575f8c:	75 11                	jne    0x575f9f
575f8e:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
575f92:	8b d6                	mov    %esi,%edx
575f94:	8b c7                	mov    %edi,%eax
575f96:	e8 8d 2f 00 00       	call   0x578f28
575f9b:	85 c0                	test   %eax,%eax
575f9d:	7d 0c                	jge    0x575fab
575f9f:	8b c6                	mov    %esi,%eax
575fa1:	e8 96 27 00 00       	call   0x57873c
575fa6:	83 c8 ff             	or     $0xffffffff,%eax
575fa9:	eb 2e                	jmp    0x575fd9
575fab:	8b c6                	mov    %esi,%eax
575fad:	e8 8a 27 00 00       	call   0x57873c
575fb2:	66 81 3b 51 ff       	cmpw   $0xff51,(%ebx)
575fb7:	75 09                	jne    0x575fc2
575fb9:	0f b7 53 2c          	movzwl 0x2c(%ebx),%edx
575fbd:	8b 0c 24             	mov    (%esp),%ecx
575fc0:	89 11                	mov    %edx,(%ecx)
575fc2:	e8 85 3f 00 00       	call   0x579f4c
575fc7:	85 c0                	test   %eax,%eax
575fc9:	7e 0c                	jle    0x575fd7
575fcb:	ba 80 2e 6a 00       	mov    $0x6a2e80,%edx
575fd0:	8b c3                	mov    %ebx,%eax
575fd2:	e8 71 00 00 00       	call   0x576048
575fd7:	33 c0                	xor    %eax,%eax
575fd9:	5a                   	pop    %edx
575fda:	5d                   	pop    %ebp
575fdb:	5f                   	pop    %edi
575fdc:	5e                   	pop    %esi
575fdd:	5b                   	pop    %ebx
575fde:	c3                   	ret
575fdf:	90                   	nop
575fe0:	53                   	push   %ebx
575fe1:	56                   	push   %esi
575fe2:	8b f0                	mov    %eax,%esi
575fe4:	b8 64 00 00 00       	mov    $0x64,%eax
575fe9:	e8 8e 23 00 00       	call   0x57837c
575fee:	8b d8                	mov    %eax,%ebx
575ff0:	85 c0                	test   %eax,%eax
575ff2:	75 05                	jne    0x575ff9
575ff4:	33 c0                	xor    %eax,%eax
575ff6:	5e                   	pop    %esi
575ff7:	5b                   	pop    %ebx
575ff8:	c3                   	ret
575ff9:	66 89 33             	mov    %si,(%ebx)
575ffc:	66 c7 43 02 00 00    	movw   $0x0,0x2(%ebx)
576002:	0f b7 03             	movzwl (%ebx),%eax
576005:	e8 9e 1b 00 00       	call   0x577ba8
57600a:	83 c0 08             	add    $0x8,%eax
57600d:	89 43 60             	mov    %eax,0x60(%ebx)
576010:	6a 58                	push   $0x58
576012:	6a 00                	push   $0x0
576014:	8d 53 08             	lea    0x8(%ebx),%edx
576017:	52                   	push   %edx
576018:	e8 8b 4a fe ff       	call   0x55aaa8
57601d:	83 c4 0c             	add    $0xc,%esp
576020:	8b c3                	mov    %ebx,%eax
576022:	5e                   	pop    %esi
576023:	5b                   	pop    %ebx
576024:	c3                   	ret
576025:	90                   	nop
576026:	90                   	nop
576027:	90                   	nop
576028:	53                   	push   %ebx
576029:	8b d8                	mov    %eax,%ebx
57602b:	8b 43 60             	mov    0x60(%ebx),%eax
57602e:	85 c0                	test   %eax,%eax
576030:	74 0d                	je     0x57603f
576032:	8b 10                	mov    (%eax),%edx
576034:	85 d2                	test   %edx,%edx
576036:	74 07                	je     0x57603f
576038:	8b c3                	mov    %ebx,%eax
57603a:	8b 50 60             	mov    0x60(%eax),%edx
57603d:	ff 12                	call   *(%edx)
57603f:	8b c3                	mov    %ebx,%eax
576041:	e8 3e 23 00 00       	call   0x578384
576046:	5b                   	pop    %ebx
576047:	c3                   	ret
576048:	53                   	push   %ebx
576049:	8b d8                	mov    %eax,%ebx
57604b:	56                   	push   %esi
57604c:	8b f2                	mov    %edx,%esi
57604e:	0f b7 03             	movzwl (%ebx),%eax
576051:	e8 52 1b 00 00       	call   0x577ba8
576056:	8b 50 04             	mov    0x4(%eax),%edx
576059:	52                   	push   %edx
57605a:	0f b7 0b             	movzwl (%ebx),%ecx
57605d:	51                   	push   %ecx
57605e:	68 35 23 6a 00       	push   $0x6a2335
576063:	56                   	push   %esi
576064:	e8 63 40 00 00       	call   0x57a0cc
576069:	66 8b 03             	mov    (%ebx),%ax
57606c:	83 c4 10             	add    $0x10,%esp
57606f:	66 3d 4f ff          	cmp    $0xff4f,%ax
576073:	74 5f                	je     0x5760d4
576075:	66 3d 93 ff          	cmp    $0xff93,%ax
576079:	74 59                	je     0x5760d4
57607b:	66 3d d9 ff          	cmp    $0xffd9,%ax
57607f:	74 53                	je     0x5760d4
576081:	66 3d 92 ff          	cmp    $0xff92,%ax
576085:	74 4d                	je     0x5760d4
576087:	66 8b 03             	mov    (%ebx),%ax
57608a:	66 3d 30 ff          	cmp    $0xff30,%ax
57608e:	72 06                	jb     0x576096
576090:	66 3d 3f ff          	cmp    $0xff3f,%ax
576094:	76 3e                	jbe    0x5760d4
576096:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
57609a:	83 c2 02             	add    $0x2,%edx
57609d:	52                   	push   %edx
57609e:	68 49 23 6a 00       	push   $0x6a2349
5760a3:	56                   	push   %esi
5760a4:	e8 23 40 00 00       	call   0x57a0cc
5760a9:	83 c4 0c             	add    $0xc,%esp
5760ac:	8b 4b 60             	mov    0x60(%ebx),%ecx
5760af:	8b 41 0c             	mov    0xc(%ecx),%eax
5760b2:	85 c0                	test   %eax,%eax
5760b4:	74 0d                	je     0x5760c3
5760b6:	8b d6                	mov    %esi,%edx
5760b8:	8b c3                	mov    %ebx,%eax
5760ba:	8b 48 60             	mov    0x60(%eax),%ecx
5760bd:	ff 51 0c             	call   *0xc(%ecx)
5760c0:	5e                   	pop    %esi
5760c1:	5b                   	pop    %ebx
5760c2:	c3                   	ret
5760c3:	68 54 23 6a 00       	push   $0x6a2354
5760c8:	56                   	push   %esi
5760c9:	e8 fe 3f 00 00       	call   0x57a0cc
5760ce:	83 c4 08             	add    $0x8,%esp
5760d1:	5e                   	pop    %esi
5760d2:	5b                   	pop    %ebx
5760d3:	c3                   	ret
5760d4:	68 56 23 6a 00       	push   $0x6a2356
5760d9:	56                   	push   %esi
5760da:	e8 ed 3f 00 00       	call   0x57a0cc
5760df:	83 c4 08             	add    $0x8,%esp
5760e2:	5e                   	pop    %esi
5760e3:	5b                   	pop    %ebx
5760e4:	c3                   	ret
5760e5:	90                   	nop
5760e6:	90                   	nop
5760e7:	90                   	nop
5760e8:	53                   	push   %ebx
5760e9:	56                   	push   %esi
5760ea:	8b d9                	mov    %ecx,%ebx
5760ec:	8d 70 08             	lea    0x8(%eax),%esi
5760ef:	8b d6                	mov    %esi,%edx
5760f1:	8b c3                	mov    %ebx,%eax
5760f3:	e8 30 16 00 00       	call   0x577728
5760f8:	85 c0                	test   %eax,%eax
5760fa:	75 2a                	jne    0x576126
5760fc:	8d 56 04             	lea    0x4(%esi),%edx
5760ff:	8b c3                	mov    %ebx,%eax
576101:	e8 ae 17 00 00       	call   0x5778b4
576106:	85 c0                	test   %eax,%eax
576108:	75 1c                	jne    0x576126
57610a:	8d 56 08             	lea    0x8(%esi),%edx
57610d:	8b c3                	mov    %ebx,%eax
57610f:	e8 48 15 00 00       	call   0x57765c
576114:	85 c0                	test   %eax,%eax
576116:	75 0e                	jne    0x576126
576118:	8d 56 09             	lea    0x9(%esi),%edx
57611b:	8b c3                	mov    %ebx,%eax
57611d:	e8 3a 15 00 00       	call   0x57765c
576122:	85 c0                	test   %eax,%eax
576124:	74 06                	je     0x57612c
576126:	83 c8 ff             	or     $0xffffffff,%eax
576129:	5e                   	pop    %esi
57612a:	5b                   	pop    %ebx
57612b:	c3                   	ret
57612c:	f6 43 08 01          	testb  $0x1,0x8(%ebx)
576130:	74 06                	je     0x576138
576132:	83 c8 ff             	or     $0xffffffff,%eax
576135:	5e                   	pop    %esi
576136:	5b                   	pop    %ebx
576137:	c3                   	ret
576138:	33 c0                	xor    %eax,%eax
57613a:	5e                   	pop    %esi
57613b:	5b                   	pop    %ebx
57613c:	c3                   	ret
57613d:	90                   	nop
57613e:	90                   	nop
57613f:	90                   	nop
576140:	53                   	push   %ebx
576141:	8d 58 08             	lea    0x8(%eax),%ebx
576144:	56                   	push   %esi
576145:	8b f1                	mov    %ecx,%esi
576147:	66 8b 13             	mov    (%ebx),%dx
57614a:	8b c6                	mov    %esi,%eax
57614c:	e8 9b 16 00 00       	call   0x5777ec
576151:	85 c0                	test   %eax,%eax
576153:	75 2a                	jne    0x57617f
576155:	8b 53 04             	mov    0x4(%ebx),%edx
576158:	8b c6                	mov    %esi,%eax
57615a:	e8 c1 18 00 00       	call   0x577a20
57615f:	85 c0                	test   %eax,%eax
576161:	75 1c                	jne    0x57617f
576163:	8a 53 08             	mov    0x8(%ebx),%dl
576166:	8b c6                	mov    %esi,%eax
576168:	e8 53 15 00 00       	call   0x5776c0
57616d:	85 c0                	test   %eax,%eax
57616f:	75 0e                	jne    0x57617f
576171:	8a 53 09             	mov    0x9(%ebx),%dl
576174:	8b c6                	mov    %esi,%eax
576176:	e8 45 15 00 00       	call   0x5776c0
57617b:	85 c0                	test   %eax,%eax
57617d:	74 06                	je     0x576185
57617f:	83 c8 ff             	or     $0xffffffff,%eax
576182:	5e                   	pop    %esi
576183:	5b                   	pop    %ebx
576184:	c3                   	ret
576185:	33 c0                	xor    %eax,%eax
576187:	5e                   	pop    %esi
576188:	5b                   	pop    %ebx
576189:	c3                   	ret
57618a:	90                   	nop
57618b:	90                   	nop
57618c:	83 c0 08             	add    $0x8,%eax
57618f:	33 c9                	xor    %ecx,%ecx
576191:	8a 48 09             	mov    0x9(%eax),%cl
576194:	51                   	push   %ecx
576195:	33 c9                	xor    %ecx,%ecx
576197:	8a 48 08             	mov    0x8(%eax),%cl
57619a:	51                   	push   %ecx
57619b:	8b 48 04             	mov    0x4(%eax),%ecx
57619e:	51                   	push   %ecx
57619f:	0f b7 00             	movzwl (%eax),%eax
5761a2:	50                   	push   %eax
5761a3:	68 58 23 6a 00       	push   $0x6a2358
5761a8:	52                   	push   %edx
5761a9:	e8 1e 3f 00 00       	call   0x57a0cc
5761ae:	83 c4 18             	add    $0x18,%esp
5761b1:	33 c0                	xor    %eax,%eax
5761b3:	c3                   	ret
5761b4:	83 c0 08             	add    $0x8,%eax
5761b7:	8b 50 28             	mov    0x28(%eax),%edx
5761ba:	85 d2                	test   %edx,%edx
5761bc:	74 07                	je     0x5761c5
5761be:	8b c2                	mov    %edx,%eax
5761c0:	e8 bf 21 00 00       	call   0x578384
5761c5:	c3                   	ret
5761c6:	90                   	nop
5761c7:	90                   	nop
5761c8:	53                   	push   %ebx
5761c9:	56                   	push   %esi
5761ca:	57                   	push   %edi
5761cb:	51                   	push   %ecx
5761cc:	8b f9                	mov    %ecx,%edi
5761ce:	8d 58 08             	lea    0x8(%eax),%ebx
5761d1:	8b d3                	mov    %ebx,%edx
5761d3:	8b c7                	mov    %edi,%eax
5761d5:	e8 4e 15 00 00       	call   0x577728
5761da:	85 c0                	test   %eax,%eax
5761dc:	75 7e                	jne    0x57625c
5761de:	8d 53 04             	lea    0x4(%ebx),%edx
5761e1:	8b c7                	mov    %edi,%eax
5761e3:	e8 cc 16 00 00       	call   0x5778b4
5761e8:	85 c0                	test   %eax,%eax
5761ea:	75 70                	jne    0x57625c
5761ec:	8d 53 08             	lea    0x8(%ebx),%edx
5761ef:	8b c7                	mov    %edi,%eax
5761f1:	e8 be 16 00 00       	call   0x5778b4
5761f6:	85 c0                	test   %eax,%eax
5761f8:	75 62                	jne    0x57625c
5761fa:	8d 53 0c             	lea    0xc(%ebx),%edx
5761fd:	8b c7                	mov    %edi,%eax
5761ff:	e8 b0 16 00 00       	call   0x5778b4
576204:	85 c0                	test   %eax,%eax