55cd4b:	81 44 24 14 04 02 00 	addl   $0x204,0x14(%esp)
55cd52:	00
55cd53:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55cd57:	8b 44 24 18          	mov    0x18(%esp),%eax
55cd5b:	3b c8                	cmp    %eax,%ecx
55cd5d:	75 db                	jne    0x55cd3a
55cd5f:	8b 54 24 40          	mov    0x40(%esp),%edx
55cd63:	8a 4a 18             	mov    0x18(%edx),%cl
55cd66:	fe c9                	dec    %cl
55cd68:	74 56                	je     0x55cdc0
55cd6a:	fe c9                	dec    %cl
55cd6c:	0f 85 9a 00 00 00    	jne    0x55ce0c
55cd72:	8b 04 24             	mov    (%esp),%eax
55cd75:	8b 10                	mov    (%eax),%edx
55cd77:	66 83 7a 10 03       	cmpw   $0x3,0x10(%edx)
55cd7c:	74 17                	je     0x55cd95
55cd7e:	68 c5 04 00 00       	push   $0x4c5
55cd83:	68 d0 dd 69 00       	push   $0x69ddd0
55cd88:	68 ac dd 69 00       	push   $0x69ddac
55cd8d:	e8 ae dd ff ff       	call   0x55ab40
55cd92:	83 c4 0c             	add    $0xc,%esp
55cd95:	8b 4c 24 40          	mov    0x40(%esp),%ecx
55cd99:	8b 54 24 40          	mov    0x40(%esp),%edx
55cd9d:	8b 41 2c             	mov    0x2c(%ecx),%eax
55cda0:	8b 88 10 04 00 00    	mov    0x410(%eax),%ecx
55cda6:	8b 42 2c             	mov    0x2c(%edx),%eax
55cda9:	8b 90 0c 02 00 00    	mov    0x20c(%eax),%edx
55cdaf:	8b 44 24 40          	mov    0x40(%esp),%eax
55cdb3:	8b 40 2c             	mov    0x2c(%eax),%eax
55cdb6:	8b 40 08             	mov    0x8(%eax),%eax
55cdb9:	e8 d6 32 01 00       	call   0x570094
55cdbe:	eb 4c                	jmp    0x55ce0c
55cdc0:	8b 14 24             	mov    (%esp),%edx
55cdc3:	8b 0a                	mov    (%edx),%ecx
55cdc5:	66 83 79 10 03       	cmpw   $0x3,0x10(%ecx)
55cdca:	74 17                	je     0x55cde3
55cdcc:	68 ca 04 00 00       	push   $0x4ca
55cdd1:	68 fe dd 69 00       	push   $0x69ddfe
55cdd6:	68 da dd 69 00       	push   $0x69ddda
55cddb:	e8 60 dd ff ff       	call   0x55ab40
55cde0:	83 c4 0c             	add    $0xc,%esp
55cde3:	8b 44 24 40          	mov    0x40(%esp),%eax
55cde7:	8b 50 2c             	mov    0x2c(%eax),%edx
55cdea:	8b 44 24 40          	mov    0x40(%esp),%eax
55cdee:	8b 8a 10 04 00 00    	mov    0x410(%edx),%ecx
55cdf4:	8b 50 2c             	mov    0x2c(%eax),%edx
55cdf7:	8b 44 24 40          	mov    0x40(%esp),%eax
55cdfb:	8b 92 0c 02 00 00    	mov    0x20c(%edx),%edx
55ce01:	8b 40 2c             	mov    0x2c(%eax),%eax
55ce04:	8b 40 08             	mov    0x8(%eax),%eax
55ce07:	e8 c8 34 01 00       	call   0x5702d4
55ce0c:	33 db                	xor    %ebx,%ebx
55ce0e:	eb 3e                	jmp    0x55ce4e
55ce10:	8b cb                	mov    %ebx,%ecx
55ce12:	8b 44 24 40          	mov    0x40(%esp),%eax
55ce16:	c1 e1 07             	shl    $0x7,%ecx
55ce19:	03 cb                	add    %ebx,%ecx
55ce1b:	8b 50 2c             	mov    0x2c(%eax),%edx
55ce1e:	c1 e1 02             	shl    $0x2,%ecx
55ce21:	03 d1                	add    %ecx,%edx
55ce23:	89 54 24 14          	mov    %edx,0x14(%esp)
55ce27:	8b 44 24 14          	mov    0x14(%esp),%eax
55ce2b:	8b 54 24 14          	mov    0x14(%esp),%edx
55ce2f:	8b 48 08             	mov    0x8(%eax),%ecx
55ce32:	8b 42 0c             	mov    0xc(%edx),%eax
55ce35:	48                   	dec    %eax
55ce36:	75 07                	jne    0x55ce3f
55ce38:	ba 01 00 00 00       	mov    $0x1,%edx
55ce3d:	eb 02                	jmp    0x55ce41
55ce3f:	33 d2                	xor    %edx,%edx
55ce41:	8b 44 24 14          	mov    0x14(%esp),%eax
55ce45:	8b 40 14             	mov    0x14(%eax),%eax
55ce48:	e8 b7 0b 01 00       	call   0x56da04
55ce4d:	43                   	inc    %ebx
55ce4e:	8b 14 24             	mov    (%esp),%edx
55ce51:	8b 0a                	mov    (%edx),%ecx
55ce53:	0f b7 41 10          	movzwl 0x10(%ecx),%eax
55ce57:	3b d8                	cmp    %eax,%ebx
55ce59:	7c b5                	jl     0x55ce10
55ce5b:	8b 54 24 40          	mov    0x40(%esp),%edx
55ce5f:	8b 44 24 40          	mov    0x40(%esp),%eax
55ce63:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55ce66:	8b 50 28             	mov    0x28(%eax),%edx
55ce69:	8b c2                	mov    %edx,%eax
55ce6b:	c1 e2 07             	shl    $0x7,%edx
55ce6e:	03 d0                	add    %eax,%edx
55ce70:	c1 e2 02             	shl    $0x2,%edx
55ce73:	03 ca                	add    %edx,%ecx
55ce75:	89 4c 24 18          	mov    %ecx,0x18(%esp)
55ce79:	66 c7 44 24 50 00 00 	movw   $0x0,0x50(%esp)
55ce80:	8b 54 24 40          	mov    0x40(%esp),%edx
55ce84:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55ce87:	89 4c 24 14          	mov    %ecx,0x14(%esp)
55ce8b:	8b 44 24 14          	mov    0x14(%esp),%eax
55ce8f:	8b 54 24 18          	mov    0x18(%esp),%edx
55ce93:	3b c2                	cmp    %edx,%eax
55ce95:	0f 84 60 02 00 00    	je     0x55d0fb
55ce9b:	33 c9                	xor    %ecx,%ecx
55ce9d:	33 c0                	xor    %eax,%eax
55ce9f:	89 4c 24 68          	mov    %ecx,0x68(%esp)
55cea3:	89 44 24 30          	mov    %eax,0x30(%esp)
55cea7:	68 c8 00 00 00       	push   $0xc8
55ceac:	6a 00                	push   $0x0
55ceae:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55ceb2:	81 c2 36 01 00 00    	add    $0x136,%edx
55ceb8:	52                   	push   %edx
55ceb9:	e8 ea db ff ff       	call   0x55aaa8
55cebe:	83 c4 0c             	add    $0xc,%esp
55cec1:	33 c9                	xor    %ecx,%ecx
55cec3:	89 4c 24 24          	mov    %ecx,0x24(%esp)
55cec7:	8b 44 24 14          	mov    0x14(%esp),%eax
55cecb:	8b 50 04             	mov    0x4(%eax),%edx
55cece:	89 54 24 20          	mov    %edx,0x20(%esp)
55ced2:	e9 c5 01 00 00       	jmp    0x55d09c
55ced7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
55cedb:	8b 41 34             	mov    0x34(%ecx),%eax
55cede:	85 c0                	test   %eax,%eax
55cee0:	75 1d                	jne    0x55ceff
55cee2:	8b 54 24 24          	mov    0x24(%esp),%edx
55cee6:	85 d2                	test   %edx,%edx
55cee8:	74 07                	je     0x55cef1
55ceea:	b9 03 00 00 00       	mov    $0x3,%ecx
55ceef:	eb 05                	jmp    0x55cef6
55cef1:	b9 01 00 00 00       	mov    $0x1,%ecx
55cef6:	01 4c 24 30          	add    %ecx,0x30(%esp)
55cefa:	e9 94 01 00 00       	jmp    0x55d093
55ceff:	8b 4c 24 20          	mov    0x20(%esp),%ecx
55cf03:	8b 44 24 20          	mov    0x20(%esp),%eax
55cf07:	8b 49 30             	mov    0x30(%ecx),%ecx
55cf0a:	8b 40 34             	mov    0x34(%eax),%eax
55cf0d:	c1 e1 02             	shl    $0x2,%ecx
55cf10:	8b d0                	mov    %eax,%edx
55cf12:	8b d8                	mov    %eax,%ebx
55cf14:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55cf17:	03 d1                	add    %ecx,%edx
55cf19:	89 54 24 1c          	mov    %edx,0x1c(%esp)
55cf1d:	8b 54 24 30          	mov    0x30(%esp),%edx
55cf21:	8b 44 24 14          	mov    0x14(%esp),%eax
55cf25:	8d 8c 50 36 01 00 00 	lea    0x136(%eax,%edx,2),%ecx
55cf2c:	89 4c 24 6c          	mov    %ecx,0x6c(%esp)
55cf30:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55cf34:	3b d8                	cmp    %eax,%ebx
55cf36:	0f 84 57 01 00 00    	je     0x55d093
55cf3c:	8b 53 04             	mov    0x4(%ebx),%edx
55cf3f:	85 d2                	test   %edx,%edx
55cf41:	75 0e                	jne    0x55cf51
55cf43:	ff 44 24 30          	incl   0x30(%esp)
55cf47:	83 44 24 6c 02       	addl   $0x2,0x6c(%esp)
55cf4c:	e9 33 01 00 00       	jmp    0x55d084
55cf51:	33 f6                	xor    %esi,%esi
55cf53:	33 c0                	xor    %eax,%eax
55cf55:	89 44 24 64          	mov    %eax,0x64(%esp)
55cf59:	eb 2b                	jmp    0x55cf86
55cf5b:	33 c9                	xor    %ecx,%ecx
55cf5d:	eb 19                	jmp    0x55cf78
55cf5f:	8b 57 1c             	mov    0x1c(%edi),%edx
55cf62:	8b 44 24 64          	mov    0x64(%esp),%eax
55cf66:	8b 14 82             	mov    (%edx,%eax,4),%edx
55cf69:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
55cf6c:	99                   	cltd
55cf6d:	33 c2                	xor    %edx,%eax
55cf6f:	2b c2                	sub    %edx,%eax
55cf71:	3b f0                	cmp    %eax,%esi
55cf73:	7d 02                	jge    0x55cf77
55cf75:	8b f0                	mov    %eax,%esi
55cf77:	41                   	inc    %ecx
55cf78:	8b 7b 04             	mov    0x4(%ebx),%edi
55cf7b:	8b 47 18             	mov    0x18(%edi),%eax
55cf7e:	3b c8                	cmp    %eax,%ecx
55cf80:	72 dd                	jb     0x55cf5f
55cf82:	ff 44 24 64          	incl   0x64(%esp)
55cf86:	8b 53 04             	mov    0x4(%ebx),%edx
55cf89:	8b 4a 14             	mov    0x14(%edx),%ecx
55cf8c:	8b 44 24 64          	mov    0x64(%esp),%eax
55cf90:	3b c8                	cmp    %eax,%ecx
55cf92:	77 c7                	ja     0x55cf5b
55cf94:	8b 54 24 40          	mov    0x40(%esp),%edx
55cf98:	8b 4a 20             	mov    0x20(%edx),%ecx
55cf9b:	85 c9                	test   %ecx,%ecx
55cf9d:	74 0a                	je     0x55cfa9
55cf9f:	8b c6                	mov    %esi,%eax
55cfa1:	e8 be c5 01 00       	call   0x579564
55cfa6:	40                   	inc    %eax
55cfa7:	eb 0a                	jmp    0x55cfb3
55cfa9:	8b c6                	mov    %esi,%eax
55cfab:	e8 b4 c5 01 00       	call   0x579564
55cfb0:	83 c0 f4             	add    $0xfffffff4,%eax
55cfb3:	0f b7 54 24 50       	movzwl 0x50(%esp),%edx
55cfb8:	8b 73 1c             	mov    0x1c(%ebx),%esi
55cfbb:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
55cfbe:	8b 54 24 44          	mov    0x44(%esp),%edx
55cfc2:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55cfc5:	8b 52 34             	mov    0x34(%edx),%edx
55cfc8:	0f b6 4c ca 04       	movzbl 0x4(%edx,%ecx,8),%ecx
55cfcd:	03 ce                	add    %esi,%ecx
55cfcf:	8b 54 24 68          	mov    0x68(%esp),%edx
55cfd3:	49                   	dec    %ecx
55cfd4:	2b c1                	sub    %ecx,%eax
55cfd6:	3b c2                	cmp    %edx,%eax
55cfd8:	7e 04                	jle    0x55cfde
55cfda:	89 44 24 68          	mov    %eax,0x68(%esp)
55cfde:	8b 44 24 40          	mov    0x40(%esp),%eax
55cfe2:	8b 48 20             	mov    0x20(%eax),%ecx
55cfe5:	85 c9                	test   %ecx,%ecx
55cfe7:	75 25                	jne    0x55d00e
55cfe9:	8b 43 18             	mov    0x18(%ebx),%eax
55cfec:	8b ce                	mov    %esi,%ecx
55cfee:	99                   	cltd
55cfef:	52                   	push   %edx
55cff0:	50                   	push   %eax
55cff1:	41                   	inc    %ecx
55cff2:	b8 01 00 00 00       	mov    $0x1,%eax
55cff7:	d3 e0                	shl    %cl,%eax
55cff9:	c1 e0 0d             	shl    $0xd,%eax
55cffc:	99                   	cltd
55cffd:	0f a4 c2 0d          	shld   $0xd,%eax,%edx
55d001:	c1 e0 0d             	shl    $0xd,%eax
55d004:	e8 9f e0 ff ff       	call   0x55b0a8
55d009:	89 43 10             	mov    %eax,0x10(%ebx)
55d00c:	eb 07                	jmp    0x55d015
55d00e:	c7 43 10 00 20 00 00 	movl   $0x2000,0x10(%ebx)
55d015:	0f b7 54 24 50       	movzwl 0x50(%esp),%edx
55d01a:	8b 44 24 44          	mov    0x44(%esp),%eax
55d01e:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
55d021:	8b 50 34             	mov    0x34(%eax),%edx
55d024:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55d027:	8b 43 1c             	mov    0x1c(%ebx),%eax
55d02a:	0f b6 54 ca 04       	movzbl 0x4(%edx,%ecx,8),%edx
55d02f:	03 d0                	add    %eax,%edx
55d031:	8b 43 10             	mov    0x10(%ebx),%eax
55d034:	e8 c3 e5 ff ff       	call   0x55b5fc
55d039:	8b f0                	mov    %eax,%esi
55d03b:	33 d2                	xor    %edx,%edx
55d03d:	89 73 14             	mov    %esi,0x14(%ebx)
55d040:	8b 44 24 44          	mov    0x44(%esp),%eax
55d044:	c1 fe 0b             	sar    $0xb,%esi
55d047:	8a 90 d4 00 00 00    	mov    0xd4(%eax),%dl
55d04d:	03 d6                	add    %esi,%edx
55d04f:	4a                   	dec    %edx
55d050:	89 53 0c             	mov    %edx,0xc(%ebx)
55d053:	8b 4c 24 40          	mov    0x40(%esp),%ecx
55d057:	8b 41 20             	mov    0x20(%ecx),%eax
55d05a:	85 c0                	test   %eax,%eax
55d05c:	75 12                	jne    0x55d070
55d05e:	8b 53 04             	mov    0x4(%ebx),%edx
55d061:	85 d2                	test   %edx,%edx
55d063:	74 0b                	je     0x55d070
55d065:	8b 53 10             	mov    0x10(%ebx),%edx
55d068:	8b 43 04             	mov    0x4(%ebx),%eax
55d06b:	e8 78 08 00 00       	call   0x55d8e8
55d070:	8b 4c 24 6c          	mov    0x6c(%esp),%ecx
55d074:	66 8b 43 14          	mov    0x14(%ebx),%ax
55d078:	66 89 01             	mov    %ax,(%ecx)
55d07b:	ff 44 24 30          	incl   0x30(%esp)
55d07f:	83 44 24 6c 02       	addl   $0x2,0x6c(%esp)
55d084:	83 c3 24             	add    $0x24,%ebx
55d087:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55d08b:	3b da                	cmp    %edx,%ebx
55d08d:	0f 85 a9 fe ff ff    	jne    0x55cf3c
55d093:	ff 44 24 24          	incl   0x24(%esp)
55d097:	83 44 24 20 3c       	addl   $0x3c,0x20(%esp)
55d09c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55d0a0:	8b 54 24 24          	mov    0x24(%esp),%edx
55d0a4:	0f b7 01             	movzwl (%ecx),%eax
55d0a7:	3b c2                	cmp    %edx,%eax
55d0a9:	0f 8f 28 fe ff ff    	jg     0x55ced7
55d0af:	8b 4c 24 40          	mov    0x40(%esp),%ecx
55d0b3:	8b 41 20             	mov    0x20(%ecx),%eax
55d0b6:	85 c0                	test   %eax,%eax
55d0b8:	75 13                	jne    0x55d0cd
55d0ba:	8b 54 24 14          	mov    0x14(%esp),%edx
55d0be:	8b 42 08             	mov    0x8(%edx),%eax
55d0c1:	ba 07 00 00 00       	mov    $0x7,%edx
55d0c6:	e8 21 af 01 00       	call   0x577fec
55d0cb:	eb 11                	jmp    0x55d0de
55d0cd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55d0d1:	ba 06 00 00 00       	mov    $0x6,%edx
55d0d6:	8b 41 08             	mov    0x8(%ecx),%eax
55d0d9:	e8 9e b0 01 00       	call   0x57817c
55d0de:	66 ff 44 24 50       	incw   0x50(%esp)
55d0e3:	81 44 24 14 04 02 00 	addl   $0x204,0x14(%esp)
55d0ea:	00
55d0eb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55d0ef:	8b 44 24 18          	mov    0x18(%esp),%eax
55d0f3:	3b c8                	cmp    %eax,%ecx
55d0f5:	0f 85 a0 fd ff ff    	jne    0x55ce9b
55d0fb:	8b 54 24 44          	mov    0x44(%esp),%edx
55d0ff:	33 c9                	xor    %ecx,%ecx
55d101:	8a 8a d4 00 00 00    	mov    0xd4(%edx),%cl
55d107:	8b 44 24 68          	mov    0x68(%esp),%eax
55d10b:	3b c8                	cmp    %eax,%ecx
55d10d:	7d 1f                	jge    0x55d12e
55d10f:	8b 54 24 68          	mov    0x68(%esp),%edx
55d113:	52                   	push   %edx
55d114:	68 37 de 69 00       	push   $0x69de37
55d119:	68 80 2e 6a 00       	push   $0x6a2e80
55d11e:	e8 a9 cf 01 00       	call   0x57a0cc
55d123:	83 c4 0c             	add    $0xc,%esp
55d126:	83 c8 ff             	or     $0xffffffff,%eax
55d129:	e9 0a 07 00 00       	jmp    0x55d838
55d12e:	33 d2                	xor    %edx,%edx
55d130:	33 c0                	xor    %eax,%eax
55d132:	e8 e5 b2 01 00       	call   0x57841c
55d137:	8b 14 24             	mov    (%esp),%edx
55d13a:	85 c0                	test   %eax,%eax
55d13c:	89 42 20             	mov    %eax,0x20(%edx)
55d13f:	75 1a                	jne    0x55d15b
55d141:	68 65 de 69 00       	push   $0x69de65
55d146:	68 80 2e 6a 00       	push   $0x6a2e80
55d14b:	e8 7c cf 01 00       	call   0x57a0cc
55d150:	83 c4 08             	add    $0x8,%esp
55d153:	83 c8 ff             	or     $0xffffffff,%eax
55d156:	e9 dd 06 00 00       	jmp    0x55d838
55d15b:	b8 90 ff 00 00       	mov    $0xff90,%eax
55d160:	e8 7b 8e 01 00       	call   0x575fe0
55d165:	8b 14 24             	mov    (%esp),%edx
55d168:	85 c0                	test   %eax,%eax
55d16a:	89 42 1c             	mov    %eax,0x1c(%edx)
55d16d:	75 08                	jne    0x55d177
55d16f:	83 c8 ff             	or     $0xffffffff,%eax
55d172:	e9 c1 06 00 00       	jmp    0x55d838
55d177:	8b 14 24             	mov    (%esp),%edx
55d17a:	8b 4a 1c             	mov    0x1c(%edx),%ecx
55d17d:	83 c1 08             	add    $0x8,%ecx
55d180:	33 d2                	xor    %edx,%edx
55d182:	89 4c 24 10          	mov    %ecx,0x10(%esp)
55d186:	8b 44 24 10          	mov    0x10(%esp),%eax
55d18a:	89 50 04             	mov    %edx,0x4(%eax)
55d18d:	66 8b 44 24 04       	mov    0x4(%esp),%ax
55d192:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55d196:	66 89 01             	mov    %ax,(%ecx)
55d199:	8b 54 24 10          	mov    0x10(%esp),%edx
55d19d:	c6 42 08 00          	movb   $0x0,0x8(%edx)
55d1a1:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55d1a5:	c6 41 09 01          	movb   $0x1,0x9(%ecx)
55d1a9:	8b 04 24             	mov    (%esp),%eax
55d1ac:	8b 14 24             	mov    (%esp),%edx
55d1af:	8b 48 1c             	mov    0x1c(%eax),%ecx
55d1b2:	8b 04 24             	mov    (%esp),%eax
55d1b5:	8b 52 10             	mov    0x10(%edx),%edx
55d1b8:	8b 40 20             	mov    0x20(%eax),%eax
55d1bb:	e8 28 8d 01 00       	call   0x575ee8
55d1c0:	85 c0                	test   %eax,%eax
55d1c2:	74 1a                	je     0x55d1de
55d1c4:	68 7b de 69 00       	push   $0x69de7b
55d1c9:	68 80 2e 6a 00       	push   $0x6a2e80
55d1ce:	e8 f9 ce 01 00       	call   0x57a0cc
55d1d3:	83 c4 08             	add    $0x8,%esp
55d1d6:	83 c8 ff             	or     $0xffffffff,%eax
55d1d9:	e9 5a 06 00 00       	jmp    0x55d838