55fa5e:	8b 40 04             	mov    0x4(%eax),%eax
55fa61:	50                   	push   %eax
55fa62:	68 95 e4 69 00       	push   $0x69e495
55fa67:	68 80 2e 6a 00       	push   $0x6a2e80
55fa6c:	e8 5b a6 01 00       	call   0x57a0cc
55fa71:	83 c4 18             	add    $0x18,%esp
55fa74:	33 c9                	xor    %ecx,%ecx
55fa76:	89 4c 24 14          	mov    %ecx,0x14(%esp)
55fa7a:	8b 1f                	mov    (%edi),%ebx
55fa7c:	eb 6f                	jmp    0x55faed
55fa7e:	8b 73 0c             	mov    0xc(%ebx),%esi
55fa81:	8b ce                	mov    %esi,%ecx
55fa83:	8b 6b 04             	mov    0x4(%ebx),%ebp
55fa86:	2b cd                	sub    %ebp,%ecx
55fa88:	51                   	push   %ecx
55fa89:	8b 43 08             	mov    0x8(%ebx),%eax
55fa8c:	8b c8                	mov    %eax,%ecx
55fa8e:	8b 13                	mov    (%ebx),%edx
55fa90:	2b ca                	sub    %edx,%ecx
55fa92:	51                   	push   %ecx
55fa93:	56                   	push   %esi
55fa94:	50                   	push   %eax
55fa95:	55                   	push   %ebp
55fa96:	52                   	push   %edx
55fa97:	68 b1 e4 69 00       	push   $0x69e4b1
55fa9c:	68 80 2e 6a 00       	push   $0x6a2e80
55faa1:	e8 26 a6 01 00       	call   0x57a0cc
55faa6:	83 c4 20             	add    $0x20,%esp
55faa9:	8b 43 1c             	mov    0x1c(%ebx),%eax
55faac:	85 c0                	test   %eax,%eax
55faae:	74 36                	je     0x55fae6
55fab0:	33 ed                	xor    %ebp,%ebp
55fab2:	8b f0                	mov    %eax,%esi
55fab4:	eb 29                	jmp    0x55fadf
55fab6:	8b 46 1c             	mov    0x1c(%esi),%eax
55fab9:	8b 50 10             	mov    0x10(%eax),%edx
55fabc:	52                   	push   %edx
55fabd:	8b 48 0c             	mov    0xc(%eax),%ecx
55fac0:	51                   	push   %ecx
55fac1:	8b 50 08             	mov    0x8(%eax),%edx
55fac4:	52                   	push   %edx
55fac5:	8b 40 04             	mov    0x4(%eax),%eax
55fac8:	50                   	push   %eax
55fac9:	68 d8 e4 69 00       	push   $0x69e4d8
55face:	68 80 2e 6a 00       	push   $0x6a2e80
55fad3:	e8 f4 a5 01 00       	call   0x57a0cc
55fad8:	83 c4 18             	add    $0x18,%esp
55fadb:	45                   	inc    %ebp
55fadc:	83 c6 3c             	add    $0x3c,%esi
55fadf:	8b 4b 18             	mov    0x18(%ebx),%ecx
55fae2:	3b e9                	cmp    %ecx,%ebp
55fae4:	72 d0                	jb     0x55fab6
55fae6:	ff 44 24 14          	incl   0x14(%esp)
55faea:	83 c3 34             	add    $0x34,%ebx
55faed:	8b 44 24 08          	mov    0x8(%esp),%eax
55faf1:	8b 50 20             	mov    0x20(%eax),%edx
55faf4:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55faf8:	3b d1                	cmp    %ecx,%edx
55fafa:	77 82                	ja     0x55fa7e
55fafc:	66 ff 44 24 10       	incw   0x10(%esp)
55fb01:	83 c7 24             	add    $0x24,%edi
55fb04:	0f b7 44 24 10       	movzwl 0x10(%esp),%eax
55fb09:	8b 54 24 08          	mov    0x8(%esp),%edx
55fb0d:	8b 4a 30             	mov    0x30(%edx),%ecx
55fb10:	3b c1                	cmp    %ecx,%eax
55fb12:	0f 8c 2f ff ff ff    	jl     0x55fa47
55fb18:	66 ff 44 24 0e       	incw   0xe(%esp)
55fb1d:	83 44 24 08 3c       	addl   $0x3c,0x8(%esp)
55fb22:	8b 44 24 04          	mov    0x4(%esp),%eax
55fb26:	66 8b 10             	mov    (%eax),%dx
55fb29:	66 3b 54 24 0e       	cmp    0xe(%esp),%dx
55fb2e:	0f 87 cf fe ff ff    	ja     0x55fa03
55fb34:	66 ff 44 24 0c       	incw   0xc(%esp)
55fb39:	81 44 24 04 04 02 00 	addl   $0x204,0x4(%esp)
55fb40:	00
55fb41:	0f b7 4c 24 0c       	movzwl 0xc(%esp),%ecx
55fb46:	8b 04 24             	mov    (%esp),%eax
55fb49:	8b 50 28             	mov    0x28(%eax),%edx
55fb4c:	3b ca                	cmp    %edx,%ecx
55fb4e:	0f 8c 6f fe ff ff    	jl     0x55f9c3
55fb54:	83 c4 18             	add    $0x18,%esp
55fb57:	5d                   	pop    %ebp
55fb58:	5f                   	pop    %edi
55fb59:	5e                   	pop    %esi
55fb5a:	5b                   	pop    %ebx
55fb5b:	c3                   	ret
55fb5c:	53                   	push   %ebx
55fb5d:	56                   	push   %esi
55fb5e:	83 c4 f4             	add    $0xfffffff4,%esp
55fb61:	8b f0                	mov    %eax,%esi
55fb63:	33 db                	xor    %ebx,%ebx
55fb65:	8b c4                	mov    %esp,%eax
55fb67:	8b c8                	mov    %eax,%ecx
55fb69:	8b c2                	mov    %edx,%eax
55fb6b:	8b d1                	mov    %ecx,%edx
55fb6d:	e8 8a 00 00 00       	call   0x55fbfc
55fb72:	85 c0                	test   %eax,%eax
55fb74:	75 73                	jne    0x55fbe9
55fb76:	e8 79 d4 00 00       	call   0x56cff4
55fb7b:	8b c4                	mov    %esp,%eax
55fb7d:	8b d6                	mov    %esi,%edx
55fb7f:	e8 58 29 00 00       	call   0x5624dc
55fb84:	8b d8                	mov    %eax,%ebx
55fb86:	85 c0                	test   %eax,%eax
55fb88:	74 5f                	je     0x55fbe9
55fb8a:	8b c3                	mov    %ebx,%eax
55fb8c:	e8 5b 01 00 00       	call   0x55fcec
55fb91:	85 c0                	test   %eax,%eax
55fb93:	75 54                	jne    0x55fbe9
55fb95:	8b 03                	mov    (%ebx),%eax
55fb97:	66 83 78 10 03       	cmpw   $0x3,0x10(%eax)
55fb9c:	72 27                	jb     0x55fbc5
55fb9e:	c7 40 18 02 00 00 00 	movl   $0x2,0x18(%eax)
55fba5:	8b 50 14             	mov    0x14(%eax),%edx
55fba8:	8b 0a                	mov    (%edx),%ecx
55fbaa:	33 c0                	xor    %eax,%eax
55fbac:	89 41 24             	mov    %eax,0x24(%ecx)
55fbaf:	8b 4a 04             	mov    0x4(%edx),%ecx
55fbb2:	c7 41 24 01 00 00 00 	movl   $0x1,0x24(%ecx)
55fbb9:	8b 52 08             	mov    0x8(%edx),%edx
55fbbc:	c7 42 24 02 00 00 00 	movl   $0x2,0x24(%edx)
55fbc3:	eb 13                	jmp    0x55fbd8
55fbc5:	8b 03                	mov    (%ebx),%eax
55fbc7:	c7 40 18 01 00 00 00 	movl   $0x1,0x18(%eax)
55fbce:	8b 50 14             	mov    0x14(%eax),%edx
55fbd1:	8b 0a                	mov    (%edx),%ecx
55fbd3:	33 c0                	xor    %eax,%eax
55fbd5:	89 41 24             	mov    %eax,0x24(%ecx)
55fbd8:	8b 33                	mov    (%ebx),%esi
55fbda:	33 c0                	xor    %eax,%eax
55fbdc:	89 03                	mov    %eax,(%ebx)
55fbde:	8b c3                	mov    %ebx,%eax
55fbe0:	e8 9f 29 00 00       	call   0x562584
55fbe5:	8b c6                	mov    %esi,%eax
55fbe7:	eb 0d                	jmp    0x55fbf6
55fbe9:	85 db                	test   %ebx,%ebx
55fbeb:	74 07                	je     0x55fbf4
55fbed:	8b c3                	mov    %ebx,%eax
55fbef:	e8 90 29 00 00       	call   0x562584
55fbf4:	33 c0                	xor    %eax,%eax
55fbf6:	83 c4 0c             	add    $0xc,%esp
55fbf9:	5e                   	pop    %esi
55fbfa:	5b                   	pop    %ebx
55fbfb:	c3                   	ret
55fbfc:	53                   	push   %ebx
55fbfd:	56                   	push   %esi
55fbfe:	57                   	push   %edi
55fbff:	8b f2                	mov    %edx,%esi
55fc01:	8b f8                	mov    %eax,%edi
55fc03:	33 c0                	xor    %eax,%eax
55fc05:	89 06                	mov    %eax,(%esi)
55fc07:	c7 46 04 00 40 00 00 	movl   $0x4000,0x4(%esi)
55fc0e:	c7 46 08 ff ff ff ff 	movl   $0xffffffff,0x8(%esi)
55fc15:	85 ff                	test   %edi,%edi
55fc17:	74 04                	je     0x55fc1d
55fc19:	8b c7                	mov    %edi,%eax
55fc1b:	eb 05                	jmp    0x55fc22
55fc1d:	b8 1e e6 69 00       	mov    $0x69e61e,%eax
55fc22:	e8 d9 3b 01 00       	call   0x573800
55fc27:	8b d8                	mov    %eax,%ebx
55fc29:	85 c0                	test   %eax,%eax
55fc2b:	0f 85 80 00 00 00    	jne    0x55fcb1
55fc31:	83 c8 ff             	or     $0xffffffff,%eax
55fc34:	e9 90 00 00 00       	jmp    0x55fcc9
55fc39:	8b c3                	mov    %ebx,%eax
55fc3b:	e8 30 3d 01 00       	call   0x573970
55fc40:	8b d0                	mov    %eax,%edx
55fc42:	b8 e8 e5 69 00       	mov    $0x69e5e8,%eax
55fc47:	e8 2c 3d 01 00       	call   0x573978
55fc4c:	e8 67 3d 01 00       	call   0x5739b8
55fc51:	8b 10                	mov    (%eax),%edx
55fc53:	83 ea 01             	sub    $0x1,%edx
55fc56:	72 07                	jb     0x55fc5f
55fc58:	74 2a                	je     0x55fc84
55fc5a:	4a                   	dec    %edx
55fc5b:	74 15                	je     0x55fc72
55fc5d:	eb 38                	jmp    0x55fc97
55fc5f:	8b c3                	mov    %ebx,%eax
55fc61:	e8 0e 3d 01 00       	call   0x573974
55fc66:	50                   	push   %eax
55fc67:	e8 e0 b2 ff ff       	call   0x55af4c
55fc6c:	59                   	pop    %ecx
55fc6d:	89 46 04             	mov    %eax,0x4(%esi)
55fc70:	eb 3f                	jmp    0x55fcb1
55fc72:	8b c3                	mov    %ebx,%eax
55fc74:	e8 fb 3c 01 00       	call   0x573974
55fc79:	50                   	push   %eax
55fc7a:	e8 cd b2 ff ff       	call   0x55af4c
55fc7f:	59                   	pop    %ecx
55fc80:	89 06                	mov    %eax,(%esi)
55fc82:	eb 2d                	jmp    0x55fcb1
55fc84:	8b c3                	mov    %ebx,%eax
55fc86:	e8 e9 3c 01 00       	call   0x573974
55fc8b:	50                   	push   %eax
55fc8c:	e8 bb b2 ff ff       	call   0x55af4c
55fc91:	59                   	pop    %ecx
55fc92:	89 46 08             	mov    %eax,0x8(%esi)
55fc95:	eb 1a                	jmp    0x55fcb1
55fc97:	8b c3                	mov    %ebx,%eax
55fc99:	e8 d2 3c 01 00       	call   0x573970
55fc9e:	50                   	push   %eax
55fc9f:	68 1f e6 69 00       	push   $0x69e61f
55fca4:	68 80 2e 6a 00       	push   $0x6a2e80
55fca9:	e8 1e a4 01 00       	call   0x57a0cc
55fcae:	83 c4 0c             	add    $0xc,%esp
55fcb1:	8b c3                	mov    %ebx,%eax
55fcb3:	e8 a8 3b 01 00       	call   0x573860
55fcb8:	85 c0                	test   %eax,%eax
55fcba:	0f 84 79 ff ff ff    	je     0x55fc39
55fcc0:	8b c3                	mov    %ebx,%eax
55fcc2:	e8 81 3b 01 00       	call   0x573848
55fcc7:	33 c0                	xor    %eax,%eax
55fcc9:	5f                   	pop    %edi
55fcca:	5e                   	pop    %esi
55fccb:	5b                   	pop    %ebx
55fccc:	c3                   	ret
55fccd:	90                   	nop
55fcce:	90                   	nop
55fccf:	90                   	nop
55fcd0:	ba f8 e4 69 00       	mov    $0x69e4f8,%edx
55fcd5:	eb 08                	jmp    0x55fcdf
55fcd7:	66 3b c1             	cmp    %cx,%ax
55fcda:	74 0b                	je     0x55fce7
55fcdc:	83 c2 0c             	add    $0xc,%edx
55fcdf:	66 8b 0a             	mov    (%edx),%cx
55fce2:	66 85 c9             	test   %cx,%cx
55fce5:	75 f0                	jne    0x55fcd7
55fce7:	8b c2                	mov    %edx,%eax
55fce9:	c3                   	ret
55fcea:	90                   	nop
55fceb:	90                   	nop
55fcec:	53                   	push   %ebx
55fced:	56                   	push   %esi
55fcee:	57                   	push   %edi
55fcef:	55                   	push   %ebp
55fcf0:	8b f8                	mov    %eax,%edi
55fcf2:	e8 19 60 01 00       	call   0x575d10
55fcf7:	8b e8                	mov    %eax,%ebp
55fcf9:	85 c0                	test   %eax,%eax
55fcfb:	75 08                	jne    0x55fd05
55fcfd:	83 c8 ff             	or     $0xffffffff,%eax
55fd00:	e9 ac 00 00 00       	jmp    0x55fdb1
55fd05:	89 6f 68             	mov    %ebp,0x68(%edi)
55fd08:	c7 47 54 01 00 00 00 	movl   $0x1,0x54(%edi)
55fd0f:	8b 47 3c             	mov    0x3c(%edi),%eax
55fd12:	8b d5                	mov    %ebp,%edx
55fd14:	e8 1f 60 01 00       	call   0x575d38
55fd19:	8b f0                	mov    %eax,%esi
55fd1b:	85 c0                	test   %eax,%eax
55fd1d:	75 17                	jne    0x55fd36
55fd1f:	68 44 e6 69 00       	push   $0x69e644
55fd24:	68 80 2e 6a 00       	push   $0x6a2e80
55fd29:	e8 9e a3 01 00       	call   0x57a0cc
55fd2e:	83 c4 08             	add    $0x8,%esp
55fd31:	83 c8 ff             	or     $0xffffffff,%eax
55fd34:	eb 7b                	jmp    0x55fdb1
55fd36:	66 8b 06             	mov    (%esi),%ax
55fd39:	e8 92 ff ff ff       	call   0x55fcd0
55fd3e:	8b d8                	mov    %eax,%ebx
55fd40:	85 db                	test   %ebx,%ebx
55fd42:	75 17                	jne    0x55fd5b
55fd44:	68 a9 01 00 00       	push   $0x1a9
55fd49:	68 68 e6 69 00       	push   $0x69e668
55fd4e:	68 5f e6 69 00       	push   $0x69e65f
55fd53:	e8 e8 ad ff ff       	call   0x55ab40
55fd58:	83 c4 0c             	add    $0xc,%esp
55fd5b:	8b 47 54             	mov    0x54(%edi),%eax
55fd5e:	8b 53 04             	mov    0x4(%ebx),%edx
55fd61:	23 c2                	and    %edx,%eax
55fd63:	75 1e                	jne    0x55fd83
55fd65:	68 72 e6 69 00       	push   $0x69e672
55fd6a:	68 80 2e 6a 00       	push   $0x6a2e80
55fd6f:	e8 58 a3 01 00       	call   0x57a0cc
55fd74:	83 c4 08             	add    $0x8,%esp
55fd77:	8b c6                	mov    %esi,%eax
55fd79:	e8 aa 62 01 00       	call   0x576028
55fd7e:	83 c8 ff             	or     $0xffffffff,%eax
55fd81:	eb 2e                	jmp    0x55fdb1
55fd83:	8b 53 08             	mov    0x8(%ebx),%edx
55fd86:	85 d2                	test   %edx,%edx
55fd88:	74 0b                	je     0x55fd95
55fd8a:	8b d6                	mov    %esi,%edx
55fd8c:	8b c7                	mov    %edi,%eax
55fd8e:	ff 53 08             	call   *0x8(%ebx)
55fd91:	8b d8                	mov    %eax,%ebx
55fd93:	eb 02                	jmp    0x55fd97
55fd95:	33 db                	xor    %ebx,%ebx
55fd97:	8b c6                	mov    %esi,%eax
55fd99:	e8 8a 62 01 00       	call   0x576028
55fd9e:	85 db                	test   %ebx,%ebx
55fda0:	7d 05                	jge    0x55fda7
55fda2:	83 c8 ff             	or     $0xffffffff,%eax
55fda5:	eb 0a                	jmp    0x55fdb1
55fda7:	85 db                	test   %ebx,%ebx
55fda9:	0f 8e 60 ff ff ff    	jle    0x55fd0f
55fdaf:	33 c0                	xor    %eax,%eax
55fdb1:	5d                   	pop    %ebp
55fdb2:	5f                   	pop    %edi
55fdb3:	5e                   	pop    %esi
55fdb4:	5b                   	pop    %ebx
55fdb5:	c3                   	ret
55fdb6:	90                   	nop
55fdb7:	90                   	nop
55fdb8:	53                   	push   %ebx
55fdb9:	33 d2                	xor    %edx,%edx
55fdbb:	8b 48 58             	mov    0x58(%eax),%ecx
55fdbe:	eb 04                	jmp    0x55fdc4
55fdc0:	42                   	inc    %edx
55fdc1:	83 c1 20             	add    $0x20,%ecx
55fdc4:	0f b7 da             	movzwl %dx,%ebx
55fdc7:	3b 58 38             	cmp    0x38(%eax),%ebx
55fdca:	7c f4                	jl     0x55fdc0
55fdcc:	33 c0                	xor    %eax,%eax
55fdce:	5b                   	pop    %ebx
55fdcf:	c3                   	ret
55fdd0:	c7 40 54 02 00 00 00 	movl   $0x2,0x54(%eax)
55fdd7:	33 c0                	xor    %eax,%eax
55fdd9:	c3                   	ret
55fdda:	90                   	nop
55fddb:	90                   	nop
55fddc:	53                   	push   %ebx
55fddd:	56                   	push   %esi
55fdde:	57                   	push   %edi
55fddf:	83 c4 f8             	add    $0xfffffff8,%esp
55fde2:	89 14 24             	mov    %edx,(%esp)
55fde5:	8b d8                	mov    %eax,%ebx
55fde7:	8b 34 24             	mov    (%esp),%esi
55fdea:	83 c6 08             	add    $0x8,%esi
55fded:	8b 43 54             	mov    0x54(%ebx),%eax
55fdf0:	83 f8 04             	cmp    $0x4,%eax
55fdf3:	0f 85 c3 00 00 00    	jne    0x55febc
55fdf9:	8b 43 38             	mov    0x38(%ebx),%eax
55fdfc:	c1 e0 05             	shl    $0x5,%eax
55fdff:	e8 78 85 01 00       	call   0x57837c
55fe04:	89 44 24 04          	mov    %eax,0x4(%esp)
55fe08:	8b 54 24 04          	mov    0x4(%esp),%edx
55fe0c:	85 d2                	test   %edx,%edx
55fe0e:	75 17                	jne    0x55fe27
55fe10:	68 f1 01 00 00       	push   $0x1f1
55fe15:	68 9c e6 69 00       	push   $0x69e69c
55fe1a:	68 92 e6 69 00       	push   $0x69e692
55fe1f:	e8 1c ad ff ff       	call   0x55ab40
55fe24:	83 c4 0c             	add    $0xc,%esp
55fe27:	33 c9                	xor    %ecx,%ecx
55fe29:	8b 53 58             	mov    0x58(%ebx),%edx
55fe2c:	8b 44 24 04          	mov    0x4(%esp),%eax
55fe30:	eb 35                	jmp    0x55fe67
55fe32:	33 ff                	xor    %edi,%edi
55fe34:	41                   	inc    %ecx
55fe35:	89 38                	mov    %edi,(%eax)