55087d:	74 1a                	je     0x550899
55087f:	85 d2                	test   %edx,%edx
550881:	74 16                	je     0x550899
550883:	89 4a 64             	mov    %ecx,0x64(%edx)
550886:	8b 45 0c             	mov    0xc(%ebp),%eax
550889:	89 42 68             	mov    %eax,0x68(%edx)
55088c:	8a 4d 08             	mov    0x8(%ebp),%cl
55088f:	88 4a 6c             	mov    %cl,0x6c(%edx)
550892:	81 4a 08 00 01 00 00 	orl    $0x100,0x8(%edx)
550899:	5d                   	pop    %ebp
55089a:	c2 08 00             	ret    $0x8
55089d:	90                   	nop
55089e:	90                   	nop
55089f:	90                   	nop
5508a0:	55                   	push   %ebp
5508a1:	8b ec                	mov    %esp,%ebp
5508a3:	83 c4 f8             	add    $0xfffffff8,%esp
5508a6:	53                   	push   %ebx
5508a7:	56                   	push   %esi
5508a8:	57                   	push   %edi
5508a9:	8b f1                	mov    %ecx,%esi
5508ab:	8b da                	mov    %edx,%ebx
5508ad:	89 45 fc             	mov    %eax,-0x4(%ebp)
5508b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5508b3:	85 c0                	test   %eax,%eax
5508b5:	0f 84 7c 01 00 00    	je     0x550a37
5508bb:	85 db                	test   %ebx,%ebx
5508bd:	0f 84 74 01 00 00    	je     0x550a37
5508c3:	56                   	push   %esi
5508c4:	e8 67 5c fd ff       	call   0x526530
5508c9:	8b f8                	mov    %eax,%edi
5508cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
5508ce:	47                   	inc    %edi
5508cf:	59                   	pop    %ecx
5508d0:	8b d7                	mov    %edi,%edx
5508d2:	e8 c5 12 00 00       	call   0x551b9c
5508d7:	89 83 a0 00 00 00    	mov    %eax,0xa0(%ebx)
5508dd:	8b 8b a0 00 00 00    	mov    0xa0(%ebx),%ecx
5508e3:	85 c9                	test   %ecx,%ecx
5508e5:	75 12                	jne    0x5508f9
5508e7:	ba 5b c3 69 00       	mov    $0x69c35b,%edx
5508ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
5508ef:	e8 f4 13 00 00       	call   0x551ce8
5508f4:	e9 3e 01 00 00       	jmp    0x550a37
5508f9:	57                   	push   %edi
5508fa:	56                   	push   %esi
5508fb:	8b 8b a0 00 00 00    	mov    0xa0(%ebx),%ecx
550901:	51                   	push   %ecx
550902:	e8 d9 5a fd ff       	call   0x5263e0
550907:	83 c4 0c             	add    $0xc,%esp
55090a:	8b 45 1c             	mov    0x1c(%ebp),%eax
55090d:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
550913:	8b 55 18             	mov    0x18(%ebp),%edx
550916:	89 93 a8 00 00 00    	mov    %edx,0xa8(%ebx)
55091c:	8a 4d 14             	mov    0x14(%ebp),%cl
55091f:	88 8b b4 00 00 00    	mov    %cl,0xb4(%ebx)
550925:	8a 45 10             	mov    0x10(%ebp),%al
550928:	88 83 b5 00 00 00    	mov    %al,0xb5(%ebx)
55092e:	8b 55 0c             	mov    0xc(%ebp),%edx
550931:	52                   	push   %edx
550932:	e8 f9 5b fd ff       	call   0x526530
550937:	8b f8                	mov    %eax,%edi
550939:	8b 45 fc             	mov    -0x4(%ebp),%eax
55093c:	47                   	inc    %edi
55093d:	59                   	pop    %ecx
55093e:	8b d7                	mov    %edi,%edx
550940:	e8 57 12 00 00       	call   0x551b9c
550945:	8b f0                	mov    %eax,%esi
550947:	89 b3 ac 00 00 00    	mov    %esi,0xac(%ebx)
55094d:	85 f6                	test   %esi,%esi
55094f:	75 12                	jne    0x550963
550951:	ba 81 c3 69 00       	mov    $0x69c381,%edx
550956:	8b 45 fc             	mov    -0x4(%ebp),%eax
550959:	e8 8a 13 00 00       	call   0x551ce8
55095e:	e9 d4 00 00 00       	jmp    0x550a37
550963:	57                   	push   %edi
550964:	8b 4d 0c             	mov    0xc(%ebp),%ecx
550967:	51                   	push   %ecx
550968:	8b 83 ac 00 00 00    	mov    0xac(%ebx),%eax
55096e:	50                   	push   %eax
55096f:	e8 6c 5a fd ff       	call   0x5263e0
550974:	8b 55 10             	mov    0x10(%ebp),%edx
550977:	83 c4 0c             	add    $0xc,%esp
55097a:	42                   	inc    %edx
55097b:	8b 45 fc             	mov    -0x4(%ebp),%eax
55097e:	c1 e2 02             	shl    $0x2,%edx
550981:	e8 16 12 00 00       	call   0x551b9c
550986:	8b f0                	mov    %eax,%esi
550988:	89 b3 b0 00 00 00    	mov    %esi,0xb0(%ebx)
55098e:	85 f6                	test   %esi,%esi
550990:	75 12                	jne    0x5509a4
550992:	ba a5 c3 69 00       	mov    $0x69c3a5,%edx
550997:	8b 45 fc             	mov    -0x4(%ebp),%eax
55099a:	e8 49 13 00 00       	call   0x551ce8
55099f:	e9 93 00 00 00       	jmp    0x550a37
5509a4:	8b 8b b0 00 00 00    	mov    0xb0(%ebx),%ecx
5509aa:	8b 45 10             	mov    0x10(%ebp),%eax
5509ad:	33 d2                	xor    %edx,%edx
5509af:	89 14 81             	mov    %edx,(%ecx,%eax,4)
5509b2:	33 f6                	xor    %esi,%esi
5509b4:	8b 45 08             	mov    0x8(%ebp),%eax
5509b7:	8b d0                	mov    %eax,%edx
5509b9:	89 55 f8             	mov    %edx,-0x8(%ebp)
5509bc:	8b 4d 10             	mov    0x10(%ebp),%ecx
5509bf:	3b f1                	cmp    %ecx,%esi
5509c1:	7d 63                	jge    0x550a26
5509c3:	8b 45 f8             	mov    -0x8(%ebp),%eax
5509c6:	8b 10                	mov    (%eax),%edx
5509c8:	52                   	push   %edx
5509c9:	e8 62 5b fd ff       	call   0x526530
5509ce:	8b f8                	mov    %eax,%edi
5509d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5509d3:	47                   	inc    %edi
5509d4:	59                   	pop    %ecx
5509d5:	8b d7                	mov    %edi,%edx
5509d7:	e8 c0 11 00 00       	call   0x551b9c
5509dc:	8b 8b b0 00 00 00    	mov    0xb0(%ebx),%ecx
5509e2:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
5509e5:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
5509eb:	8b 14 b0             	mov    (%eax,%esi,4),%edx
5509ee:	85 d2                	test   %edx,%edx
5509f0:	75 0f                	jne    0x550a01
5509f2:	ba ca c3 69 00       	mov    $0x69c3ca,%edx
5509f7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5509fa:	e8 e9 12 00 00       	call   0x551ce8
5509ff:	eb 36                	jmp    0x550a37
550a01:	57                   	push   %edi
550a02:	8b 4d f8             	mov    -0x8(%ebp),%ecx
550a05:	8b 01                	mov    (%ecx),%eax
550a07:	50                   	push   %eax
550a08:	8b 93 b0 00 00 00    	mov    0xb0(%ebx),%edx
550a0e:	8b 0c b2             	mov    (%edx,%esi,4),%ecx
550a11:	51                   	push   %ecx
550a12:	e8 c9 59 fd ff       	call   0x5263e0
550a17:	83 c4 0c             	add    $0xc,%esp
550a1a:	46                   	inc    %esi
550a1b:	83 45 f8 04          	addl   $0x4,-0x8(%ebp)
550a1f:	8b 45 10             	mov    0x10(%ebp),%eax
550a22:	3b f0                	cmp    %eax,%esi
550a24:	7c 9d                	jl     0x5509c3
550a26:	81 4b 08 00 04 00 00 	orl    $0x400,0x8(%ebx)
550a2d:	81 8b b8 00 00 00 80 	orl    $0x80,0xb8(%ebx)
550a34:	00 00 00
550a37:	5f                   	pop    %edi
550a38:	5e                   	pop    %esi
550a39:	5b                   	pop    %ebx
550a3a:	59                   	pop    %ecx
550a3b:	59                   	pop    %ecx
550a3c:	5d                   	pop    %ebp
550a3d:	c2 18 00             	ret    $0x18
550a40:	55                   	push   %ebp
550a41:	8b ec                	mov    %esp,%ebp
550a43:	85 c0                	test   %eax,%eax
550a45:	74 35                	je     0x550a7c
550a47:	85 d2                	test   %edx,%edx
550a49:	74 31                	je     0x550a7c
550a4b:	88 8a dc 00 00 00    	mov    %cl,0xdc(%edx)
550a51:	8b 45 10             	mov    0x10(%ebp),%eax
550a54:	89 82 e0 00 00 00    	mov    %eax,0xe0(%edx)
550a5a:	8b 45 14             	mov    0x14(%ebp),%eax
550a5d:	89 82 e4 00 00 00    	mov    %eax,0xe4(%edx)
550a63:	8b 4d 08             	mov    0x8(%ebp),%ecx
550a66:	89 8a e8 00 00 00    	mov    %ecx,0xe8(%edx)
550a6c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
550a6f:	89 8a ec 00 00 00    	mov    %ecx,0xec(%edx)
550a75:	81 4a 08 00 40 00 00 	orl    $0x4000,0x8(%edx)
550a7c:	5d                   	pop    %ebp
550a7d:	c2 10 00             	ret    $0x10
550a80:	55                   	push   %ebp
550a81:	8b ec                	mov    %esp,%ebp
550a83:	85 c0                	test   %eax,%eax
550a85:	74 1a                	je     0x550aa1
550a87:	85 d2                	test   %edx,%edx
550a89:	74 16                	je     0x550aa1
550a8b:	89 4a 70             	mov    %ecx,0x70(%edx)
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)