550a8e:	8b 45 0c             	mov    0xc(%ebp),%eax
550a91:	89 42 74             	mov    %eax,0x74(%edx)
550a94:	8a 4d 08             	mov    0x8(%ebp),%cl
550a97:	88 4a 78             	mov    %cl,0x78(%edx)
550a9a:	81 4a 08 80 00 00 00 	orl    $0x80,0x8(%edx)
550aa1:	5d                   	pop    %ebp
550aa2:	c2 08 00             	ret    $0x8
550aa5:	90                   	nop
550aa6:	90                   	nop
550aa7:	90                   	nop
550aa8:	55                   	push   %ebp
550aa9:	8b ec                	mov    %esp,%ebp
550aab:	51                   	push   %ecx
550aac:	53                   	push   %ebx
550aad:	56                   	push   %esi
550aae:	57                   	push   %edi
550aaf:	89 4d fc             	mov    %ecx,-0x4(%ebp)
550ab2:	8b f2                	mov    %edx,%esi
550ab4:	8b d8                	mov    %eax,%ebx
550ab6:	8b 7d 08             	mov    0x8(%ebp),%edi
550ab9:	85 db                	test   %ebx,%ebx
550abb:	74 7a                	je     0x550b37
550abd:	85 f6                	test   %esi,%esi
550abf:	74 76                	je     0x550b37
550ac1:	6a 00                	push   $0x0
550ac3:	b9 00 10 00 00       	mov    $0x1000,%ecx
550ac8:	8b d6                	mov    %esi,%edx
550aca:	8b c3                	mov    %ebx,%eax
550acc:	e8 4f 63 00 00       	call   0x556e20
550ad1:	b9 03 00 00 00       	mov    $0x3,%ecx
550ad6:	ba 00 01 00 00       	mov    $0x100,%edx
550adb:	8b c3                	mov    %ebx,%eax
550add:	e8 66 61 00 00       	call   0x556c48
550ae2:	89 83 d4 00 00 00    	mov    %eax,0xd4(%ebx)
550ae8:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
550aee:	85 c0                	test   %eax,%eax
550af0:	75 0c                	jne    0x550afe
550af2:	ba f2 c3 69 00       	mov    $0x69c3f2,%edx
550af7:	8b c3                	mov    %ebx,%eax
550af9:	e8 4e 11 00 00       	call   0x551c4c
550afe:	8d 14 7f             	lea    (%edi,%edi,2),%edx
550b01:	52                   	push   %edx
550b02:	8b 4d fc             	mov    -0x4(%ebp),%ecx
550b05:	51                   	push   %ecx
550b06:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
550b0c:	50                   	push   %eax
550b0d:	e8 ce 58 fd ff       	call   0x5263e0
550b12:	83 c4 0c             	add    $0xc,%esp
550b15:	8b 93 d4 00 00 00    	mov    0xd4(%ebx),%edx
550b1b:	89 56 10             	mov    %edx,0x10(%esi)
550b1e:	66 89 bb d8 00 00 00 	mov    %di,0xd8(%ebx)
550b25:	66 89 7e 14          	mov    %di,0x14(%esi)
550b29:	81 8e b8 00 00 00 00 	orl    $0x1000,0xb8(%esi)
550b30:	10 00 00
550b33:	83 4e 08 08          	orl    $0x8,0x8(%esi)
550b37:	5f                   	pop    %edi
550b38:	5e                   	pop    %esi
550b39:	5b                   	pop    %ebx
550b3a:	59                   	pop    %ecx
550b3b:	5d                   	pop    %ebp
550b3c:	c2 04 00             	ret    $0x4
550b3f:	90                   	nop
550b40:	53                   	push   %ebx
550b41:	8b da                	mov    %edx,%ebx
550b43:	85 c0                	test   %eax,%eax
550b45:	74 17                	je     0x550b5e
550b47:	85 db                	test   %ebx,%ebx
550b49:	74 13                	je     0x550b5e
550b4b:	6a 05                	push   $0x5
550b4d:	51                   	push   %ecx
550b4e:	8d 43 44             	lea    0x44(%ebx),%eax
550b51:	50                   	push   %eax
550b52:	e8 89 58 fd ff       	call   0x5263e0
550b57:	83 c4 0c             	add    $0xc,%esp
550b5a:	83 4b 08 02          	orl    $0x2,0x8(%ebx)
550b5e:	5b                   	pop    %ebx
550b5f:	c3                   	ret
550b60:	85 c0                	test   %eax,%eax
550b62:	74 0e                	je     0x550b72
550b64:	85 d2                	test   %edx,%edx
550b66:	74 0a                	je     0x550b72
550b68:	88 4a 2c             	mov    %cl,0x2c(%edx)
550b6b:	81 4a 08 00 08 00 00 	orl    $0x800,0x8(%edx)
550b72:	c3                   	ret
550b73:	90                   	nop
550b74:	53                   	push   %ebx
550b75:	56                   	push   %esi
550b76:	57                   	push   %edi
550b77:	55                   	push   %ebp
550b78:	83 c4 cc             	add    $0xffffffcc,%esp
550b7b:	8b f2                	mov    %edx,%esi
550b7d:	8b d8                	mov    %eax,%ebx
550b7f:	85 db                	test   %ebx,%ebx
550b81:	0f 84 29 01 00 00    	je     0x550cb0
550b87:	85 f6                	test   %esi,%esi
550b89:	0f 84 21 01 00 00    	je     0x550cb0
550b8f:	8b d6                	mov    %esi,%edx
550b91:	8b c3                	mov    %ebx,%eax
550b93:	e8 c8 ff ff ff       	call   0x550b60
550b98:	c7 04 24 c7 ba e8 3e 	movl   $0x3ee8bac7,(%esp)
550b9f:	8b d6                	mov    %esi,%edx
550ba1:	d9 04 24             	flds   (%esp)
550ba4:	83 c4 f8             	add    $0xfffffff8,%esp
550ba7:	8b c3                	mov    %ebx,%eax
550ba9:	dd 1c 24             	fstpl  (%esp)
550bac:	e8 ff f8 ff ff       	call   0x5504b0
550bb1:	b8 8f b1 00 00       	mov    $0xb18f,%eax
550bb6:	8b c8                	mov    %eax,%ecx
550bb8:	8b d6                	mov    %esi,%edx
550bba:	8b c3                	mov    %ebx,%eax
550bbc:	e8 93 f9 ff ff       	call   0x550554
550bc1:	c7 44 24 24 30 75 00 	movl   $0x7530,0x24(%esp)
550bc8:	00
550bc9:	c7 44 24 28 60 ea 00 	movl   $0xea60,0x28(%esp)
550bd0:	00
550bd1:	c7 44 24 2c 98 3a 00 	movl   $0x3a98,0x2c(%esp)
550bd8:	00
550bd9:	c7 44 24 30 70 17 00 	movl   $0x1770,0x30(%esp)
550be0:	00
550be1:	ba 84 80 00 00       	mov    $0x8084,%edx
550be6:	bf 00 fa 00 00       	mov    $0xfa00,%edi
550beb:	52                   	push   %edx
550bec:	57                   	push   %edi
550bed:	bd e8 80 00 00       	mov    $0x80e8,%ebp
550bf2:	b8 26 7a 00 00       	mov    $0x7a26,%eax
550bf7:	55                   	push   %ebp
550bf8:	8b 54 24 30          	mov    0x30(%esp),%edx
550bfc:	52                   	push   %edx
550bfd:	8b 4c 24 38          	mov    0x38(%esp),%ecx
550c01:	51                   	push   %ecx
550c02:	8b 54 24 40          	mov    0x40(%esp),%edx
550c06:	52                   	push   %edx
550c07:	8b d6                	mov    %esi,%edx
550c09:	8b 4c 24 48          	mov    0x48(%esp),%ecx
550c0d:	51                   	push   %ecx
550c0e:	8b c8                	mov    %eax,%ecx
550c10:	8b c3                	mov    %ebx,%eax
550c12:	e8 b1 f6 ff ff       	call   0x5502c8
550c17:	c7 44 24 04 37 1a a0 	movl   $0x3ea01a37,0x4(%esp)
550c1e:	3e
550c1f:	c7 44 24 08 b0 72 a8 	movl   $0x3ea872b0,0x8(%esp)
550c26:	3e
550c27:	c7 44 24 0c 0a d7 23 	movl   $0x3f23d70a,0xc(%esp)
550c2e:	3f
550c2f:	c7 44 24 10 c3 f5 a8 	movl   $0x3ea8f5c3,0x10(%esp)
550c36:	3e
550c37:	c7 44 24 14 9a 99 99 	movl   $0x3e99999a,0x14(%esp)
550c3e:	3e
550c3f:	c7 44 24 18 9a 99 19 	movl   $0x3f19999a,0x18(%esp)
550c46:	3f
550c47:	c7 44 24 1c 9a 99 19 	movl   $0x3e19999a,0x1c(%esp)
550c4e:	3e
550c4f:	c7 44 24 20 8f c2 75 	movl   $0x3d75c28f,0x20(%esp)
550c56:	3d
550c57:	d9 44 24 04          	flds   0x4(%esp)
550c5b:	83 c4 f8             	add    $0xfffffff8,%esp
550c5e:	8b d6                	mov    %esi,%edx
550c60:	8b c3                	mov    %ebx,%eax
550c62:	dd 1c 24             	fstpl  (%esp)
550c65:	d9 44 24 10          	flds   0x10(%esp)
550c69:	83 c4 f8             	add    $0xfffffff8,%esp
550c6c:	dd 1c 24             	fstpl  (%esp)
550c6f:	d9 44 24 1c          	flds   0x1c(%esp)
550c73:	83 c4 f8             	add    $0xfffffff8,%esp
550c76:	dd 1c 24             	fstpl  (%esp)
550c79:	d9 44 24 28          	flds   0x28(%esp)
550c7d:	83 c4 f8             	add    $0xfffffff8,%esp
550c80:	dd 1c 24             	fstpl  (%esp)
550c83:	d9 44 24 34          	flds   0x34(%esp)
550c87:	83 c4 f8             	add    $0xfffffff8,%esp
550c8a:	dd 1c 24             	fstpl  (%esp)
550c8d:	d9 44 24 40          	flds   0x40(%esp)
550c91:	83 c4 f8             	add    $0xfffffff8,%esp
550c94:	dd 1c 24             	fstpl  (%esp)
550c97:	d9 44 24 4c          	flds   0x4c(%esp)
550c9b:	83 c4 f8             	add    $0xfffffff8,%esp
550c9e:	dd 1c 24             	fstpl  (%esp)
550ca1:	d9 44 24 58          	flds   0x58(%esp)
550ca5:	83 c4 f8             	add    $0xfffffff8,%esp
550ca8:	dd 1c 24             	fstpl  (%esp)
550cab:	e8 c4 f3 ff ff       	call   0x550074
550cb0:	83 c4 34             	add    $0x34,%esp
550cb3:	5d                   	pop    %ebp
550cb4:	5f                   	pop    %edi
550cb5:	5e                   	pop    %esi
550cb6:	5b                   	pop    %ebx
550cb7:	c3                   	ret
550cb8:	55                   	push   %ebp
550cb9:	8b ec                	mov    %esp,%ebp
550cbb:	51                   	push   %ecx
550cbc:	53                   	push   %ebx
550cbd:	56                   	push   %esi
550cbe:	57                   	push   %edi
550cbf:	8b f9                	mov    %ecx,%edi
550cc1:	8b da                	mov    %edx,%ebx
550cc3:	8b f0                	mov    %eax,%esi
550cc5:	85 f6                	test   %esi,%esi
550cc7:	0f 84 b1 00 00 00    	je     0x550d7e
550ccd:	85 db                	test   %ebx,%ebx
550ccf:	0f 84 a9 00 00 00    	je     0x550d7e
550cd5:	85 ff                	test   %edi,%edi
550cd7:	0f 84 a1 00 00 00    	je     0x550d7e
550cdd:	8b 45 0c             	mov    0xc(%ebp),%eax
550ce0:	85 c0                	test   %eax,%eax
550ce2:	0f 84 96 00 00 00    	je     0x550d7e
550ce8:	57                   	push   %edi
550ce9:	e8 42 58 fd ff       	call   0x526530
550cee:	59                   	pop    %ecx
550cef:	8b d0                	mov    %eax,%edx
550cf1:	42                   	inc    %edx
550cf2:	8b c6                	mov    %esi,%eax
550cf4:	e8 fb 0d 00 00       	call   0x551af4
550cf9:	89 45 fc             	mov    %eax,-0x4(%ebp)
550cfc:	33 c0                	xor    %eax,%eax
550cfe:	8b 55 fc             	mov    -0x4(%ebp),%edx
550d01:	56                   	push   %esi
550d02:	57                   	push   %edi
550d03:	83 c9 ff             	or     $0xffffffff,%ecx
550d06:	f2 ae                	repnz scas %es:(%edi),%al
550d08:	f7 d1                	not    %ecx
550d0a:	2b f9                	sub    %ecx,%edi
550d0c:	8b f2                	mov    %edx,%esi
550d0e:	87 f7                	xchg   %esi,%edi
550d10:	8b d1                	mov    %ecx,%edx
550d12:	8b c7                	mov    %edi,%eax
550d14:	c1 e9 02             	shr    $0x2,%ecx
550d17:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
550d19:	8b ca                	mov    %edx,%ecx
550d1b:	83 e1 03             	and    $0x3,%ecx
550d1e:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
550d20:	5f                   	pop    %edi
550d21:	5e                   	pop    %esi
550d22:	8b c6                	mov    %esi,%eax
550d24:	8b 55 08             	mov    0x8(%ebp),%edx
550d27:	e8 c8 0d 00 00       	call   0x551af4
550d2c:	8b f8                	mov    %eax,%edi
550d2e:	8b 45 08             	mov    0x8(%ebp),%eax
550d31:	50                   	push   %eax
550d32:	8b 55 0c             	mov    0xc(%ebp),%edx
550d35:	52                   	push   %edx
550d36:	57                   	push   %edi
550d37:	e8 a4 56 fd ff       	call   0x5263e0
550d3c:	83 c4 0c             	add    $0xc,%esp
550d3f:	b9 10 00 00 00       	mov    $0x10,%ecx
550d44:	8b d3                	mov    %ebx,%edx
550d46:	8b c6                	mov    %esi,%eax
550d48:	6a 00                	push   $0x0
550d4a:	e8 d1 60 00 00       	call   0x556e20
550d4f:	8b 4d 08             	mov    0x8(%ebp),%ecx
550d52:	89 8b cc 00 00 00    	mov    %ecx,0xcc(%ebx)
550d58:	8b 45 fc             	mov    -0x4(%ebp),%eax
550d5b:	89 83 c4 00 00 00    	mov    %eax,0xc4(%ebx)
550d61:	89 bb c8 00 00 00    	mov    %edi,0xc8(%ebx)
550d67:	8a 55 10             	mov    0x10(%ebp),%dl
550d6a:	88 93 d0 00 00 00    	mov    %dl,0xd0(%ebx)
550d70:	83 8b b8 00 00 00 10 	orl    $0x10,0xb8(%ebx)
550d77:	81 4b 08 00 10 00 00 	orl    $0x1000,0x8(%ebx)
550d7e:	5f                   	pop    %edi
550d7f:	5e                   	pop    %esi
550d80:	5b                   	pop    %ebx
550d81:	59                   	pop    %ecx
550d82:	5d                   	pop    %ebp
550d83:	c2 0c 00             	ret    $0xc
550d86:	90                   	nop
550d87:	90                   	nop
550d88:	55                   	push   %ebp
550d89:	8b ec                	mov    %esp,%ebp
550d8b:	51                   	push   %ecx
550d8c:	53                   	push   %ebx
550d8d:	8b d8                	mov    %eax,%ebx
550d8f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
550d92:	8b 45 08             	mov    0x8(%ebp),%eax
550d95:	50                   	push   %eax
550d96:	8b c3                	mov    %ebx,%eax
550d98:	8b 4d fc             	mov    -0x4(%ebp),%ecx
550d9b:	e8 18 00 00 00       	call   0x550db8
550da0:	85 c0                	test   %eax,%eax
550da2:	74 0c                	je     0x550db0
550da4:	ba 0b c4 69 00       	mov    $0x69c40b,%edx
550da9:	8b c3                	mov    %ebx,%eax
550dab:	e8 9c 0e 00 00       	call   0x551c4c
550db0:	5b                   	pop    %ebx
550db1:	59                   	pop    %ecx
550db2:	5d                   	pop    %ebp
550db3:	c2 04 00             	ret    $0x4
550db6:	90                   	nop
550db7:	90                   	nop
550db8:	55                   	push   %ebp
550db9:	8b ec                	mov    %esp,%ebp
550dbb:	83 c4 e4             	add    $0xffffffe4,%esp
550dbe:	53                   	push   %ebx
550dbf:	56                   	push   %esi
550dc0:	57                   	push   %edi
550dc1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
550dc4:	8b fa                	mov    %edx,%edi
550dc6:	89 45 fc             	mov    %eax,-0x4(%ebp)
550dc9:	8b 45 fc             	mov    -0x4(%ebp),%eax
550dcc:	85 c0                	test   %eax,%eax
550dce:	74 0b                	je     0x550ddb
550dd0:	85 ff                	test   %edi,%edi
550dd2:	74 07                	je     0x550ddb
550dd4:	8b 55 08             	mov    0x8(%ebp),%edx
550dd7:	85 d2                	test   %edx,%edx
550dd9:	75 07                	jne    0x550de2
550ddb:	33 c0                	xor    %eax,%eax
550ddd:	e9 e1 01 00 00       	jmp    0x550fc3
550de2:	8b 57 30             	mov    0x30(%edi),%edx
550de5:	8b 4d 08             	mov    0x8(%ebp),%ecx
550de8:	03 d1                	add    %ecx,%edx
550dea:	8b 47 34             	mov    0x34(%edi),%eax
550ded:	3b c2                	cmp    %edx,%eax
550def:	0f 8d 94 00 00 00    	jge    0x550e89
550df5:	8b 4f 38             	mov    0x38(%edi),%ecx
550df8:	85 c9                	test   %ecx,%ecx
550dfa:	74 54                	je     0x550e50
550dfc:	8b f0                	mov    %eax,%esi
550dfe:	83 c2 08             	add    $0x8,%edx
550e01:	89 57 34             	mov    %edx,0x34(%edi)
550e04:	8b 5f 38             	mov    0x38(%edi),%ebx
550e07:	8b 57 34             	mov    0x34(%edi),%edx
550e0a:	c1 e2 04             	shl    $0x4,%edx
550e0d:	8b 45 fc             	mov    -0x4(%ebp),%eax
550e10:	e8 87 0d 00 00       	call   0x551b9c
550e15:	89 47 38             	mov    %eax,0x38(%edi)
550e18:	8b 4f 38             	mov    0x38(%edi),%ecx
550e1b:	85 c9                	test   %ecx,%ecx
550e1d:	75 14                	jne    0x550e33
550e1f:	8b d3                	mov    %ebx,%edx
550e21:	8b 45 fc             	mov    -0x4(%ebp),%eax
550e24:	e8 3f 0d 00 00       	call   0x551b68
550e29:	b8 01 00 00 00       	mov    $0x1,%eax
550e2e:	e9 90 01 00 00       	jmp    0x550fc3
550e33:	c1 e6 04             	shl    $0x4,%esi
550e36:	56                   	push   %esi
550e37:	53                   	push   %ebx
550e38:	8b 57 38             	mov    0x38(%edi),%edx
550e3b:	52                   	push   %edx
550e3c:	e8 9f 55 fd ff       	call   0x5263e0
550e41:	83 c4 0c             	add    $0xc,%esp
550e44:	8b d3                	mov    %ebx,%edx
550e46:	8b 45 fc             	mov    -0x4(%ebp),%eax
550e49:	e8 1a 0d 00 00       	call   0x551b68
550e4e:	eb 39                	jmp    0x550e89
550e50:	8b 4d 08             	mov    0x8(%ebp),%ecx
550e53:	33 c0                	xor    %eax,%eax
550e55:	83 c1 08             	add    $0x8,%ecx
550e58:	89 4f 34             	mov    %ecx,0x34(%edi)
550e5b:	89 47 30             	mov    %eax,0x30(%edi)
550e5e:	8b 57 34             	mov    0x34(%edi),%edx
550e61:	8b 45 fc             	mov    -0x4(%ebp),%eax