553be2:	ba 04 00 00 00       	mov    $0x4,%edx
553be7:	e8 78 31 fd ff       	call   0x526d64
553bec:	8b f8                	mov    %eax,%edi
553bee:	85 ff                	test   %edi,%edi
553bf0:	0f 85 a9 00 00 00    	jne    0x553c9f
553bf6:	8b 43 44             	mov    0x44(%ebx),%eax
553bf9:	85 c0                	test   %eax,%eax
553bfb:	0f 85 c1 00 00 00    	jne    0x553cc2
553c01:	8b 46 0c             	mov    0xc(%esi),%eax
553c04:	8b 56 08             	mov    0x8(%esi),%edx
553c07:	3b c2                	cmp    %edx,%eax
553c09:	7f 56                	jg     0x553c61
553c0b:	89 45 f4             	mov    %eax,-0xc(%ebp)
553c0e:	83 c2 04             	add    $0x4,%edx
553c11:	89 56 0c             	mov    %edx,0xc(%esi)
553c14:	8b 46 10             	mov    0x10(%esi),%eax
553c17:	85 c0                	test   %eax,%eax
553c19:	74 36                	je     0x553c51
553c1b:	89 45 f0             	mov    %eax,-0x10(%ebp)
553c1e:	8b c3                	mov    %ebx,%eax
553c20:	8b 56 0c             	mov    0xc(%esi),%edx
553c23:	c1 e2 02             	shl    $0x2,%edx
553c26:	e8 c9 de ff ff       	call   0x551af4
553c2b:	89 46 10             	mov    %eax,0x10(%esi)
553c2e:	8b 55 f4             	mov    -0xc(%ebp),%edx
553c31:	c1 e2 02             	shl    $0x2,%edx
553c34:	52                   	push   %edx
553c35:	8b 4d f0             	mov    -0x10(%ebp),%ecx
553c38:	51                   	push   %ecx
553c39:	8b 46 10             	mov    0x10(%esi),%eax
553c3c:	50                   	push   %eax
553c3d:	e8 9e 27 fd ff       	call   0x5263e0
553c42:	83 c4 0c             	add    $0xc,%esp
553c45:	8b 55 f0             	mov    -0x10(%ebp),%edx
553c48:	8b c3                	mov    %ebx,%eax
553c4a:	e8 19 df ff ff       	call   0x551b68
553c4f:	eb 10                	jmp    0x553c61
553c51:	8b 56 0c             	mov    0xc(%esi),%edx
553c54:	8b c3                	mov    %ebx,%eax
553c56:	c1 e2 02             	shl    $0x2,%edx
553c59:	e8 96 de ff ff       	call   0x551af4
553c5e:	89 46 10             	mov    %eax,0x10(%esi)
553c61:	8b 53 70             	mov    0x70(%ebx),%edx
553c64:	8b c3                	mov    %ebx,%eax
553c66:	e8 89 de ff ff       	call   0x551af4
553c6b:	8b 56 10             	mov    0x10(%esi),%edx
553c6e:	8b 4e 08             	mov    0x8(%esi),%ecx
553c71:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
553c74:	8b 43 70             	mov    0x70(%ebx),%eax
553c77:	50                   	push   %eax
553c78:	8b 53 6c             	mov    0x6c(%ebx),%edx
553c7b:	52                   	push   %edx
553c7c:	8b 4e 10             	mov    0x10(%esi),%ecx
553c7f:	8b 46 08             	mov    0x8(%esi),%eax
553c82:	8b 14 81             	mov    (%ecx,%eax,4),%edx
553c85:	52                   	push   %edx
553c86:	e8 55 27 fd ff       	call   0x5263e0
553c8b:	83 c4 0c             	add    $0xc,%esp
553c8e:	ff 46 08             	incl   0x8(%esi)
553c91:	8b 4b 70             	mov    0x70(%ebx),%ecx
553c94:	89 4b 44             	mov    %ecx,0x44(%ebx)
553c97:	8b 43 6c             	mov    0x6c(%ebx),%eax
553c9a:	89 43 40             	mov    %eax,0x40(%ebx)
553c9d:	eb 23                	jmp    0x553cc2
553c9f:	83 ff 01             	cmp    $0x1,%edi
553ca2:	74 1e                	je     0x553cc2
553ca4:	8b 43 4c             	mov    0x4c(%ebx),%eax
553ca7:	85 c0                	test   %eax,%eax
553ca9:	74 0b                	je     0x553cb6
553cab:	8b d0                	mov    %eax,%edx
553cad:	8b c3                	mov    %ebx,%eax
553caf:	e8 98 df ff ff       	call   0x551c4c
553cb4:	eb 0c                	jmp    0x553cc2
553cb6:	ba 8c cc 69 00       	mov    $0x69cc8c,%edx
553cbb:	8b c3                	mov    %ebx,%eax
553cbd:	e8 8a df ff ff       	call   0x551c4c
553cc2:	4f                   	dec    %edi
553cc3:	0f 85 16 ff ff ff    	jne    0x553bdf
553cc9:	8b 43 70             	mov    0x70(%ebx),%eax
553ccc:	8b 53 44             	mov    0x44(%ebx),%edx
553ccf:	8b f8                	mov    %eax,%edi
553cd1:	0f af 7e 08          	imul   0x8(%esi),%edi
553cd5:	3b c2                	cmp    %edx,%eax
553cd7:	76 04                	jbe    0x553cdd
553cd9:	2b c2                	sub    %edx,%eax
553cdb:	03 f8                	add    %eax,%edi
553cdd:	8b c7                	mov    %edi,%eax
553cdf:	5f                   	pop    %edi
553ce0:	5e                   	pop    %esi
553ce1:	5b                   	pop    %ebx
553ce2:	8b e5                	mov    %ebp,%esp
553ce4:	5d                   	pop    %ebp
553ce5:	c2 08 00             	ret    $0x8
553ce8:	53                   	push   %ebx
553ce9:	56                   	push   %esi
553cea:	57                   	push   %edi
553ceb:	8b f2                	mov    %edx,%esi
553ced:	8b f8                	mov    %eax,%edi
553cef:	8b 06                	mov    (%esi),%eax
553cf1:	85 c0                	test   %eax,%eax
553cf3:	74 0e                	je     0x553d03
553cf5:	8b 4e 04             	mov    0x4(%esi),%ecx
553cf8:	8b d0                	mov    %eax,%edx
553cfa:	8b c7                	mov    %edi,%eax
553cfc:	e8 fb fc ff ff       	call   0x5539fc
553d01:	eb 67                	jmp    0x553d6a
553d03:	33 db                	xor    %ebx,%ebx
553d05:	eb 26                	jmp    0x553d2d
553d07:	8b 4f 70             	mov    0x70(%edi),%ecx
553d0a:	8b 46 10             	mov    0x10(%esi),%eax
553d0d:	8b 14 98             	mov    (%eax,%ebx,4),%edx
553d10:	8b c7                	mov    %edi,%eax
553d12:	e8 e5 fc ff ff       	call   0x5539fc
553d17:	8b 56 10             	mov    0x10(%esi),%edx
553d1a:	8b c7                	mov    %edi,%eax
553d1c:	8b 14 9a             	mov    (%edx,%ebx,4),%edx
553d1f:	e8 44 de ff ff       	call   0x551b68
553d24:	8b 4e 10             	mov    0x10(%esi),%ecx
553d27:	33 c0                	xor    %eax,%eax
553d29:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
553d2c:	43                   	inc    %ebx
553d2d:	8b 56 08             	mov    0x8(%esi),%edx
553d30:	3b da                	cmp    %edx,%ebx
553d32:	7c d3                	jl     0x553d07
553d34:	8b 4e 0c             	mov    0xc(%esi),%ecx
553d37:	85 c9                	test   %ecx,%ecx
553d39:	74 0a                	je     0x553d45
553d3b:	8b 56 10             	mov    0x10(%esi),%edx
553d3e:	8b c7                	mov    %edi,%eax
553d40:	e8 23 de ff ff       	call   0x551b68
553d45:	33 c9                	xor    %ecx,%ecx
553d47:	89 4e 10             	mov    %ecx,0x10(%esi)
553d4a:	8b 47 70             	mov    0x70(%edi),%eax
553d4d:	8b 57 44             	mov    0x44(%edi),%edx
553d50:	3b c2                	cmp    %edx,%eax
553d52:	76 0e                	jbe    0x553d62
553d54:	8b c8                	mov    %eax,%ecx
553d56:	2b ca                	sub    %edx,%ecx
553d58:	8b 57 6c             	mov    0x6c(%edi),%edx
553d5b:	8b c7                	mov    %edi,%eax
553d5d:	e8 9a fc ff ff       	call   0x5539fc
553d62:	8d 47 34             	lea    0x34(%edi),%eax
553d65:	e8 3e 2e fd ff       	call   0x526ba8
553d6a:	5f                   	pop    %edi
553d6b:	5e                   	pop    %esi
553d6c:	5b                   	pop    %ebx
553d6d:	c3                   	ret
553d6e:	90                   	nop
553d6f:	90                   	nop
553d70:	55                   	push   %ebp
553d71:	8b ec                	mov    %esp,%ebp
553d73:	83 c4 e8             	add    $0xffffffe8,%esp
553d76:	53                   	push   %ebx
553d77:	56                   	push   %esi
553d78:	57                   	push   %edi
553d79:	89 4d f8             	mov    %ecx,-0x8(%ebp)
553d7c:	89 55 fc             	mov    %edx,-0x4(%ebp)
553d7f:	8b d8                	mov    %eax,%ebx
553d81:	8b 7d 0c             	mov    0xc(%ebp),%edi
553d84:	8b 75 14             	mov    0x14(%ebp),%esi
553d87:	8b c6                	mov    %esi,%eax
553d89:	83 f8 06             	cmp    $0x6,%eax
553d8c:	0f 87 f4 00 00 00    	ja     0x553e86
553d92:	ff 24 85 99 3d 55 00 	jmp    *0x553d99(,%eax,4)
553d99:	b5 3d                	mov    $0x3d,%ch
553d9b:	55                   	push   %ebp
553d9c:	00 86 3e 55 00 ea    	add    %al,-0x15ffaac2(%esi)
553da2:	3d 55 00 12 3e       	cmp    $0x3e120055,%eax
553da7:	55                   	push   %ebp
553da8:	00 3c 3e             	add    %bh,(%esi,%edi,1)
553dab:	55                   	push   %ebp
553dac:	00 86 3e 55 00 61    	add    %al,0x6100553e(%esi)
553db2:	3e 55                	ds push %ebp
553db4:	00 8b 55 18 4a 83    	add    %cl,-0x7cb5e7ab(%ebx)
553dba:	ea 02 72 0f 4a 74 0c 	ljmp   $0xc74,$0x4a0f7202
553dc1:	83 ea 04             	sub    $0x4,%edx
553dc4:	74 07                	je     0x553dcd
553dc6:	83 ea 08             	sub    $0x8,%edx
553dc9:	74 02                	je     0x553dcd
553dcb:	eb 0c                	jmp    0x553dd9
553dcd:	c6 83 ea 00 00 00 01 	movb   $0x1,0xea(%ebx)
553dd4:	e9 b9 00 00 00       	jmp    0x553e92
553dd9:	ba 97 cc 69 00       	mov    $0x69cc97,%edx
553dde:	8b c3                	mov    %ebx,%eax
553de0:	e8 67 de ff ff       	call   0x551c4c
553de5:	e9 a8 00 00 00       	jmp    0x553e92
553dea:	8b 4d 18             	mov    0x18(%ebp),%ecx
553ded:	83 f9 08             	cmp    $0x8,%ecx
553df0:	74 14                	je     0x553e06
553df2:	8b 45 18             	mov    0x18(%ebp),%eax
553df5:	83 f8 10             	cmp    $0x10,%eax
553df8:	74 0c                	je     0x553e06
553dfa:	ba bd cc 69 00       	mov    $0x69ccbd,%edx
553dff:	8b c3                	mov    %ebx,%eax
553e01:	e8 46 de ff ff       	call   0x551c4c
553e06:	c6 83 ea 00 00 00 03 	movb   $0x3,0xea(%ebx)
553e0d:	e9 80 00 00 00       	jmp    0x553e92
553e12:	8b 55 18             	mov    0x18(%ebp),%edx
553e15:	4a                   	dec    %edx
553e16:	83 ea 02             	sub    $0x2,%edx
553e19:	72 0a                	jb     0x553e25
553e1b:	4a                   	dec    %edx
553e1c:	74 07                	je     0x553e25
553e1e:	83 ea 04             	sub    $0x4,%edx
553e21:	74 02                	je     0x553e25
553e23:	eb 09                	jmp    0x553e2e
553e25:	c6 83 ea 00 00 00 01 	movb   $0x1,0xea(%ebx)
553e2c:	eb 64                	jmp    0x553e92
553e2e:	ba dd cc 69 00       	mov    $0x69ccdd,%edx
553e33:	8b c3                	mov    %ebx,%eax
553e35:	e8 12 de ff ff       	call   0x551c4c
553e3a:	eb 56                	jmp    0x553e92
553e3c:	8b 4d 18             	mov    0x18(%ebp),%ecx
553e3f:	83 f9 08             	cmp    $0x8,%ecx
553e42:	74 14                	je     0x553e58
553e44:	8b 45 18             	mov    0x18(%ebp),%eax
553e47:	83 f8 10             	cmp    $0x10,%eax
553e4a:	74 0c                	je     0x553e58
553e4c:	ba 02 cd 69 00       	mov    $0x69cd02,%edx
553e51:	8b c3                	mov    %ebx,%eax
553e53:	e8 f4 dd ff ff       	call   0x551c4c
553e58:	c6 83 ea 00 00 00 02 	movb   $0x2,0xea(%ebx)
553e5f:	eb 31                	jmp    0x553e92
553e61:	8b 55 18             	mov    0x18(%ebp),%edx
553e64:	83 fa 08             	cmp    $0x8,%edx
553e67:	74 14                	je     0x553e7d
553e69:	8b 4d 18             	mov    0x18(%ebp),%ecx
553e6c:	83 f9 10             	cmp    $0x10,%ecx
553e6f:	74 0c                	je     0x553e7d
553e71:	ba 2e cd 69 00       	mov    $0x69cd2e,%edx
553e76:	8b c3                	mov    %ebx,%eax
553e78:	e8 cf dd ff ff       	call   0x551c4c
553e7d:	c6 83 ea 00 00 00 04 	movb   $0x4,0xea(%ebx)
553e84:	eb 0c                	jmp    0x553e92
553e86:	ba 4f cd 69 00       	mov    $0x69cd4f,%edx
553e8b:	8b c3                	mov    %ebx,%eax
553e8d:	e8 ba dd ff ff       	call   0x551c4c
553e92:	8b 4d 10             	mov    0x10(%ebp),%ecx
553e95:	85 c9                	test   %ecx,%ecx
553e97:	74 11                	je     0x553eaa
553e99:	ba 72 cd 69 00       	mov    $0x69cd72,%edx
553e9e:	8b c3                	mov    %ebx,%eax
553ea0:	e8 43 de ff ff       	call   0x551ce8
553ea5:	33 c9                	xor    %ecx,%ecx
553ea7:	89 4d 10             	mov    %ecx,0x10(%ebp)
553eaa:	f6 83 ec 01 00 00 04 	testb  $0x4,0x1ec(%ebx)
553eb1:	74 15                	je     0x553ec8
553eb3:	f6 43 29 10          	testb  $0x10,0x29(%ebx)
553eb7:	75 0f                	jne    0x553ec8
553eb9:	83 fe 02             	cmp    $0x2,%esi
553ebc:	74 05                	je     0x553ec3
553ebe:	83 fe 06             	cmp    $0x6,%esi
553ec1:	75 05                	jne    0x553ec8
553ec3:	83 ff 40             	cmp    $0x40,%edi
553ec6:	74 12                	je     0x553eda
553ec8:	85 ff                	test   %edi,%edi
553eca:	74 0e                	je     0x553eda
553ecc:	ba 95 cd 69 00       	mov    $0x69cd95,%edx
553ed1:	8b c3                	mov    %ebx,%eax
553ed3:	e8 10 de ff ff       	call   0x551ce8
553ed8:	33 ff                	xor    %edi,%edi
553eda:	8b 45 08             	mov    0x8(%ebp),%eax
553edd:	85 c0                	test   %eax,%eax
553edf:	74 19                	je     0x553efa
553ee1:	8b 55 08             	mov    0x8(%ebp),%edx
553ee4:	4a                   	dec    %edx
553ee5:	74 13                	je     0x553efa
553ee7:	ba b3 cd 69 00       	mov    $0x69cdb3,%edx
553eec:	8b c3                	mov    %ebx,%eax
553eee:	e8 f5 dd ff ff       	call   0x551ce8
553ef3:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
553efa:	8a 4d 18             	mov    0x18(%ebp),%cl
553efd:	8b c6                	mov    %esi,%eax
553eff:	88 8b e7 00 00 00    	mov    %cl,0xe7(%ebx)
553f05:	88 83 e6 00 00 00    	mov    %al,0xe6(%ebx)
553f0b:	8a 55 08             	mov    0x8(%ebp),%dl
553f0e:	8b cf                	mov    %edi,%ecx
553f10:	88 93 e3 00 00 00    	mov    %dl,0xe3(%ebx)
553f16:	88 8b f4 01 00 00    	mov    %cl,0x1f4(%ebx)
553f1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
553f1f:	89 83 88 00 00 00    	mov    %eax,0x88(%ebx)
553f25:	33 c0                	xor    %eax,%eax
553f27:	8b 55 f8             	mov    -0x8(%ebp),%edx
553f2a:	89 93 8c 00 00 00    	mov    %edx,0x8c(%ebx)
553f30:	8a 83 ea 00 00 00    	mov    0xea(%ebx),%al
553f36:	f7 6d 18             	imull  0x18(%ebp)
553f39:	33 d2                	xor    %edx,%edx
553f3b:	88 83 e9 00 00 00    	mov    %al,0xe9(%ebx)
553f41:	8a d0                	mov    %al,%dl
553f43:	0f af 55 fc          	imul   -0x4(%ebp),%edx
553f47:	83 c2 07             	add    $0x7,%edx
553f4a:	c1 ea 03             	shr    $0x3,%edx
553f4d:	89 93 98 00 00 00    	mov    %edx,0x98(%ebx)
553f53:	8b 8b 88 00 00 00    	mov    0x88(%ebx),%ecx
553f59:	89 8b 94 00 00 00    	mov    %ecx,0x94(%ebx)
553f5f:	8a 83 e7 00 00 00    	mov    0xe7(%ebx),%al
553f65:	88 83 e8 00 00 00    	mov    %al,0xe8(%ebx)
553f6b:	8d 45 e8             	lea    -0x18(%ebp),%eax
553f6e:	8a 93 ea 00 00 00    	mov    0xea(%ebx),%dl
553f74:	88 93 eb 00 00 00    	mov    %dl,0xeb(%ebx)
553f7a:	8b 55 fc             	mov    -0x4(%ebp),%edx
553f7d:	e8 9a f9 ff ff       	call   0x55391c
553f82:	8d 45 ec             	lea    -0x14(%ebp),%eax
553f85:	8b 55 f8             	mov    -0x8(%ebp),%edx
553f88:	e8 8f f9 ff ff       	call   0x55391c
553f8d:	8a 4d 18             	mov    0x18(%ebp),%cl
553f90:	8b c6                	mov    %esi,%eax
553f92:	88 4d f0             	mov    %cl,-0x10(%ebp)
553f95:	88 45 f1             	mov    %al,-0xf(%ebp)
553f98:	8a 55 10             	mov    0x10(%ebp),%dl
553f9b:	8b cf                	mov    %edi,%ecx
553f9d:	88 55 f2             	mov    %dl,-0xe(%ebp)
553fa0:	88 4d f3             	mov    %cl,-0xd(%ebp)
553fa3:	8a 45 08             	mov    0x8(%ebp),%al
553fa6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
553fa9:	88 45 f4             	mov    %al,-0xc(%ebp)
553fac:	8b c3                	mov    %ebx,%eax
553fae:	6a 0d                	push   $0xd
553fb0:	ba ca d3 69 00       	mov    $0x69d3ca,%edx
553fb5:	e8 c6 f9 ff ff       	call   0x553980
553fba:	c7 43 54 48 6c 55 00 	movl   $0x556c48,0x54(%ebx)
553fc1:	c7 43 58 b8 6c 55 00 	movl   $0x556cb8,0x58(%ebx)
553fc8:	89 5b 5c             	mov    %ebx,0x5c(%ebx)
553fcb:	8a 93 e5 00 00 00    	mov    0xe5(%ebx),%dl
553fd1:	84 d2                	test   %dl,%dl
553fd3:	75 25                	jne    0x553ffa
553fd5:	8a 8b e6 00 00 00    	mov    0xe6(%ebx),%cl
553fdb:	80 f9 03             	cmp    $0x3,%cl
553fde:	74 0a                	je     0x553fea
553fe0:	8a 83 e7 00 00 00    	mov    0xe7(%ebx),%al
553fe6:	3c 08                	cmp    $0x8,%al
553fe8:	73 09                	jae    0x553ff3
553fea:	c6 83 e5 00 00 00 08 	movb   $0x8,0xe5(%ebx)
553ff1:	eb 07                	jmp    0x553ffa
553ff3:	c6 83 e5 00 00 00 f8 	movb   $0xf8,0xe5(%ebx)
553ffa:	f6 43 2c 01          	testb  $0x1,0x2c(%ebx)
553ffe:	75 1f                	jne    0x55401f
554000:	8a 93 e5 00 00 00    	mov    0xe5(%ebx),%dl
554006:	80 fa 08             	cmp    $0x8,%dl
554009:	74 0c                	je     0x554017
55400b:	c7 83 84 00 00 00 01 	movl   $0x1,0x84(%ebx)
554012:	00 00 00
554015:	eb 08                	jmp    0x55401f
554017:	33 c9                	xor    %ecx,%ecx
554019:	89 8b 84 00 00 00    	mov    %ecx,0x84(%ebx)
55401f:	f6 43 2c 02          	testb  $0x2,0x2c(%ebx)
554023:	75 07                	jne    0x55402c
554025:	c7 43 74 ff ff ff ff 	movl   $0xffffffff,0x74(%ebx)
55402c:	f6 43 2c 04          	testb  $0x4,0x2c(%ebx)
554030:	75 0a                	jne    0x55403c