41be11:	56                   	push   %esi
41be12:	84 d2                	test   %dl,%dl
41be14:	74 08                	je     0x41be1e
41be16:	83 c4 f0             	add    $0xfffffff0,%esp
41be19:	e8 72 77 fe ff       	call   0x403590
41be1e:	8b da                	mov    %edx,%ebx
41be20:	8b f0                	mov    %eax,%esi
41be22:	66 89 4e 20          	mov    %cx,0x20(%esi)
41be26:	8d 46 08             	lea    0x8(%esi),%eax
41be29:	50                   	push   %eax
41be2a:	e8 11 a3 fe ff       	call   0x406140
41be2f:	8b c6                	mov    %esi,%eax
41be31:	84 db                	test   %bl,%bl
41be33:	74 0f                	je     0x41be44
41be35:	e8 ae 77 fe ff       	call   0x4035e8
41be3a:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41be41:	83 c4 0c             	add    $0xc,%esp
41be44:	8b c6                	mov    %esi,%eax
41be46:	5e                   	pop    %esi
41be47:	5b                   	pop    %ebx
41be48:	c3                   	ret
41be49:	8d 40 00             	lea    0x0(%eax),%eax
41be4c:	53                   	push   %ebx
41be4d:	56                   	push   %esi
41be4e:	e8 a5 77 fe ff       	call   0x4035f8
41be53:	8b da                	mov    %edx,%ebx
41be55:	8b f0                	mov    %eax,%esi
41be57:	8d 46 08             	lea    0x8(%esi),%eax
41be5a:	50                   	push   %eax
41be5b:	e8 78 a1 fe ff       	call   0x405fd8
41be60:	84 db                	test   %bl,%bl
41be62:	7e 07                	jle    0x41be6b
41be64:	8b c6                	mov    %esi,%eax
41be66:	e8 75 77 fe ff       	call   0x4035e0
41be6b:	5e                   	pop    %esi
41be6c:	5b                   	pop    %ebx
41be6d:	c3                   	ret
41be6e:	8b c0                	mov    %eax,%eax
41be70:	83 c0 08             	add    $0x8,%eax
41be73:	50                   	push   %eax
41be74:	e8 67 a1 fe ff       	call   0x405fe0
41be79:	c3                   	ret
41be7a:	8b c0                	mov    %eax,%eax
41be7c:	83 c0 08             	add    $0x8,%eax
41be7f:	50                   	push   %eax
41be80:	e8 c3 a2 fe ff       	call   0x406148
41be85:	c3                   	ret
41be86:	8b c0                	mov    %eax,%eax
41be88:	55                   	push   %ebp
41be89:	8b ec                	mov    %esp,%ebp
41be8b:	83 c4 f8             	add    $0xfffffff8,%esp
41be8e:	53                   	push   %ebx
41be8f:	56                   	push   %esi
41be90:	8b da                	mov    %edx,%ebx
41be92:	89 45 fc             	mov    %eax,-0x4(%ebp)
41be95:	8b 45 fc             	mov    -0x4(%ebp),%eax
41be98:	0f b7 50 20          	movzwl 0x20(%eax),%edx
41be9c:	8b c3                	mov    %ebx,%eax
41be9e:	e8 59 ff ff ff       	call   0x41bdfc
41bea3:	8b f0                	mov    %eax,%esi
41bea5:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bea8:	e8 c3 ff ff ff       	call   0x41be70
41bead:	33 d2                	xor    %edx,%edx
41beaf:	55                   	push   %ebp
41beb0:	68 5c bf 41 00       	push   $0x41bf5c
41beb5:	64 ff 32             	push   %fs:(%edx)
41beb8:	64 89 22             	mov    %esp,%fs:(%edx)
41bebb:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bebe:	8b 40 04             	mov    0x4(%eax),%eax
41bec1:	89 45 f8             	mov    %eax,-0x8(%ebp)
41bec4:	eb 08                	jmp    0x41bece
41bec6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bec9:	8b 00                	mov    (%eax),%eax
41becb:	89 45 f8             	mov    %eax,-0x8(%ebp)
41bece:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41bed2:	74 21                	je     0x41bef5
41bed4:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bed7:	66 3b 70 0c          	cmp    0xc(%eax),%si
41bedb:	75 e9                	jne    0x41bec6
41bedd:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bee0:	0f b7 48 20          	movzwl 0x20(%eax),%ecx
41bee4:	8b d3                	mov    %ebx,%edx
41bee6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bee9:	83 c0 10             	add    $0x10,%eax
41beec:	e8 37 bd fe ff       	call   0x407c28
41bef1:	84 c0                	test   %al,%al
41bef3:	74 d1                	je     0x41bec6
41bef5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41bef9:	75 45                	jne    0x41bf40
41befb:	8b 45 fc             	mov    -0x4(%ebp),%eax
41befe:	0f b7 40 20          	movzwl 0x20(%eax),%eax
41bf02:	83 c0 10             	add    $0x10,%eax
41bf05:	e8 b2 67 fe ff       	call   0x4026bc
41bf0a:	89 45 f8             	mov    %eax,-0x8(%ebp)
41bf0d:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bf10:	8b 55 fc             	mov    -0x4(%ebp),%edx
41bf13:	8b 52 04             	mov    0x4(%edx),%edx
41bf16:	89 10                	mov    %edx,(%eax)
41bf18:	33 d2                	xor    %edx,%edx
41bf1a:	89 50 04             	mov    %edx,0x4(%eax)
41bf1d:	8b 13                	mov    (%ebx),%edx
41bf1f:	89 50 08             	mov    %edx,0x8(%eax)
41bf22:	66 89 70 0c          	mov    %si,0xc(%eax)
41bf26:	8b 55 fc             	mov    -0x4(%ebp),%edx
41bf29:	0f b7 4a 20          	movzwl 0x20(%edx),%ecx
41bf2d:	8d 50 10             	lea    0x10(%eax),%edx
41bf30:	8b c3                	mov    %ebx,%eax
41bf32:	e8 81 69 fe ff       	call   0x4028b8
41bf37:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bf3a:	8b 55 f8             	mov    -0x8(%ebp),%edx
41bf3d:	89 50 04             	mov    %edx,0x4(%eax)
41bf40:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bf43:	ff 40 04             	incl   0x4(%eax)
41bf46:	33 c0                	xor    %eax,%eax
41bf48:	5a                   	pop    %edx
41bf49:	59                   	pop    %ecx
41bf4a:	59                   	pop    %ecx
41bf4b:	64 89 10             	mov    %edx,%fs:(%eax)
41bf4e:	68 63 bf 41 00       	push   $0x41bf63
41bf53:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bf56:	e8 21 ff ff ff       	call   0x41be7c
41bf5b:	c3                   	ret
41bf5c:	e9 5f 7a fe ff       	jmp    0x4039c0
41bf61:	eb f0                	jmp    0x41bf53
41bf63:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bf66:	5e                   	pop    %esi
41bf67:	5b                   	pop    %ebx
41bf68:	59                   	pop    %ecx
41bf69:	59                   	pop    %ecx
41bf6a:	5d                   	pop    %ebp
41bf6b:	c3                   	ret
41bf6c:	55                   	push   %ebp
41bf6d:	8b ec                	mov    %esp,%ebp
41bf6f:	83 c4 f0             	add    $0xfffffff0,%esp
41bf72:	89 55 f8             	mov    %edx,-0x8(%ebp)
41bf75:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bf78:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41bf7c:	0f 84 96 00 00 00    	je     0x41c018
41bf82:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bf85:	89 45 f0             	mov    %eax,-0x10(%ebp)
41bf88:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bf8b:	e8 e0 fe ff ff       	call   0x41be70
41bf90:	33 c9                	xor    %ecx,%ecx
41bf92:	55                   	push   %ebp
41bf93:	68 f3 bf 41 00       	push   $0x41bff3
41bf98:	64 ff 31             	push   %fs:(%ecx)
41bf9b:	64 89 21             	mov    %esp,%fs:(%ecx)
41bf9e:	8b 45 f0             	mov    -0x10(%ebp),%eax
41bfa1:	ff 48 04             	decl   0x4(%eax)
41bfa4:	8b 45 f0             	mov    -0x10(%ebp),%eax
41bfa7:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
41bfab:	0f 94 45 f7          	sete   -0x9(%ebp)
41bfaf:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
41bfb3:	74 28                	je     0x41bfdd
41bfb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bfb8:	8b 40 04             	mov    0x4(%eax),%eax
41bfbb:	3b 45 f8             	cmp    -0x8(%ebp),%eax
41bfbe:	75 0f                	jne    0x41bfcf
41bfc0:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bfc3:	8b 00                	mov    (%eax),%eax
41bfc5:	8b 55 fc             	mov    -0x4(%ebp),%edx
41bfc8:	89 42 04             	mov    %eax,0x4(%edx)
41bfcb:	eb 10                	jmp    0x41bfdd
41bfcd:	8b c2                	mov    %edx,%eax
41bfcf:	8b 10                	mov    (%eax),%edx
41bfd1:	3b 55 f8             	cmp    -0x8(%ebp),%edx
41bfd4:	75 f7                	jne    0x41bfcd
41bfd6:	8b 55 f8             	mov    -0x8(%ebp),%edx
41bfd9:	8b 12                	mov    (%edx),%edx
41bfdb:	89 10                	mov    %edx,(%eax)
41bfdd:	33 c0                	xor    %eax,%eax
41bfdf:	5a                   	pop    %edx
41bfe0:	59                   	pop    %ecx
41bfe1:	59                   	pop    %ecx
41bfe2:	64 89 10             	mov    %edx,%fs:(%eax)
41bfe5:	68 fa bf 41 00       	push   $0x41bffa
41bfea:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bfed:	e8 8a fe ff ff       	call   0x41be7c
41bff2:	c3                   	ret
41bff3:	e9 c8 79 fe ff       	jmp    0x4039c0
41bff8:	eb f0                	jmp    0x41bfea
41bffa:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
41bffe:	74 18                	je     0x41c018
41c000:	8b 45 f0             	mov    -0x10(%ebp),%eax
41c003:	8b 40 08             	mov    0x8(%eax),%eax
41c006:	85 c0                	test   %eax,%eax
41c008:	74 06                	je     0x41c010
41c00a:	50                   	push   %eax
41c00b:	e8 68 a2 fe ff       	call   0x406278
41c010:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c013:	e8 c4 66 fe ff       	call   0x4026dc
41c018:	8b e5                	mov    %ebp,%esp
41c01a:	5d                   	pop    %ebp
41c01b:	c3                   	ret
41c01c:	55                   	push   %ebp
41c01d:	8b ec                	mov    %esp,%ebp
41c01f:	83 c4 f8             	add    $0xfffffff8,%esp
41c022:	53                   	push   %ebx
41c023:	56                   	push   %esi
41c024:	57                   	push   %edi
41c025:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41c028:	8b da                	mov    %edx,%ebx
41c02a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c02d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c030:	e8 3b fe ff ff       	call   0x41be70
41c035:	33 c0                	xor    %eax,%eax
41c037:	55                   	push   %ebp
41c038:	68 85 c0 41 00       	push   $0x41c085
41c03d:	64 ff 30             	push   %fs:(%eax)
41c040:	64 89 20             	mov    %esp,%fs:(%eax)
41c043:	8b 7b 10             	mov    0x10(%ebx),%edi
41c046:	8b 55 f8             	mov    -0x8(%ebp),%edx
41c049:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c04c:	e8 37 fe ff ff       	call   0x41be88
41c051:	8b f0                	mov    %eax,%esi
41c053:	89 73 10             	mov    %esi,0x10(%ebx)
41c056:	3b fe                	cmp    %esi,%edi
41c058:	74 0b                	je     0x41c065
41c05a:	8b c3                	mov    %ebx,%eax
41c05c:	66 be fd ff          	mov    $0xfffd,%si
41c060:	e8 03 74 fe ff       	call   0x403468
41c065:	8b d7                	mov    %edi,%edx
41c067:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c06a:	e8 fd fe ff ff       	call   0x41bf6c
41c06f:	33 c0                	xor    %eax,%eax
41c071:	5a                   	pop    %edx
41c072:	59                   	pop    %ecx
41c073:	59                   	pop    %ecx
41c074:	64 89 10             	mov    %edx,%fs:(%eax)
41c077:	68 8c c0 41 00       	push   $0x41c08c
41c07c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c07f:	e8 f8 fd ff ff       	call   0x41be7c
41c084:	c3                   	ret
41c085:	e9 36 79 fe ff       	jmp    0x4039c0
41c08a:	eb f0                	jmp    0x41c07c
41c08c:	5f                   	pop    %edi
41c08d:	5e                   	pop    %esi
41c08e:	5b                   	pop    %ebx
41c08f:	59                   	pop    %ecx
41c090:	59                   	pop    %ecx
41c091:	5d                   	pop    %ebp
41c092:	c3                   	ret
41c093:	90                   	nop
41c094:	55                   	push   %ebp
41c095:	8b ec                	mov    %esp,%ebp
41c097:	51                   	push   %ecx
41c098:	53                   	push   %ebx
41c099:	56                   	push   %esi
41c09a:	57                   	push   %edi
41c09b:	8b f9                	mov    %ecx,%edi
41c09d:	8b f2                	mov    %edx,%esi
41c09f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c0a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c0a5:	e8 c6 fd ff ff       	call   0x41be70
41c0aa:	33 c0                	xor    %eax,%eax
41c0ac:	55                   	push   %ebp
41c0ad:	68 f0 c0 41 00       	push   $0x41c0f0
41c0b2:	64 ff 30             	push   %fs:(%eax)
41c0b5:	64 89 20             	mov    %esp,%fs:(%eax)
41c0b8:	8b 5e 10             	mov    0x10(%esi),%ebx
41c0bb:	3b fb                	cmp    %ebx,%edi
41c0bd:	74 1b                	je     0x41c0da
41c0bf:	ff 47 04             	incl   0x4(%edi)
41c0c2:	89 7e 10             	mov    %edi,0x10(%esi)
41c0c5:	8b c6                	mov    %esi,%eax
41c0c7:	66 be fd ff          	mov    $0xfffd,%si
41c0cb:	e8 98 73 fe ff       	call   0x403468
41c0d0:	8b d3                	mov    %ebx,%edx
41c0d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c0d5:	e8 92 fe ff ff       	call   0x41bf6c
41c0da:	33 c0                	xor    %eax,%eax
41c0dc:	5a                   	pop    %edx
41c0dd:	59                   	pop    %ecx
41c0de:	59                   	pop    %ecx
41c0df:	64 89 10             	mov    %edx,%fs:(%eax)
41c0e2:	68 f7 c0 41 00       	push   $0x41c0f7
41c0e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c0ea:	e8 8d fd ff ff       	call   0x41be7c
41c0ef:	c3                   	ret
41c0f0:	e9 cb 78 fe ff       	jmp    0x4039c0
41c0f5:	eb f0                	jmp    0x41c0e7
41c0f7:	5f                   	pop    %edi
41c0f8:	5e                   	pop    %esi
41c0f9:	5b                   	pop    %ebx
41c0fa:	59                   	pop    %ecx
41c0fb:	5d                   	pop    %ebp
41c0fc:	c3                   	ret
41c0fd:	8d 40 00             	lea    0x0(%eax),%eax
41c100:	55                   	push   %ebp
41c101:	8b ec                	mov    %esp,%ebp
41c103:	51                   	push   %ecx
41c104:	53                   	push   %ebx
41c105:	56                   	push   %esi
41c106:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c109:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c10c:	e8 5f fd ff ff       	call   0x41be70
41c111:	33 d2                	xor    %edx,%edx
41c113:	55                   	push   %ebp
41c114:	68 5f c1 41 00       	push   $0x41c15f
41c119:	64 ff 32             	push   %fs:(%edx)
41c11c:	64 89 22             	mov    %esp,%fs:(%edx)
41c11f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c122:	8b 58 04             	mov    0x4(%eax),%ebx
41c125:	85 db                	test   %ebx,%ebx
41c127:	74 20                	je     0x41c149
41c129:	8b f3                	mov    %ebx,%esi
41c12b:	8b 46 08             	mov    0x8(%esi),%eax
41c12e:	85 c0                	test   %eax,%eax
41c130:	74 11                	je     0x41c143
41c132:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
41c136:	7d 0b                	jge    0x41c143
41c138:	50                   	push   %eax
41c139:	e8 3a a1 fe ff       	call   0x406278
41c13e:	33 c0                	xor    %eax,%eax
41c140:	89 46 08             	mov    %eax,0x8(%esi)
41c143:	8b 1b                	mov    (%ebx),%ebx
41c145:	85 db                	test   %ebx,%ebx
41c147:	75 e0                	jne    0x41c129
41c149:	33 c0                	xor    %eax,%eax
41c14b:	5a                   	pop    %edx
41c14c:	59                   	pop    %ecx
41c14d:	59                   	pop    %ecx
41c14e:	64 89 10             	mov    %edx,%fs:(%eax)
41c151:	68 66 c1 41 00       	push   $0x41c166
41c156:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c159:	e8 1e fd ff ff       	call   0x41be7c
41c15e:	c3                   	ret
41c15f:	e9 5c 78 fe ff       	jmp    0x4039c0
41c164:	eb f0                	jmp    0x41c156
41c166:	5e                   	pop    %esi
41c167:	5b                   	pop    %ebx
41c168:	59                   	pop    %ecx
41c169:	5d                   	pop    %ebp
41c16a:	c3                   	ret
41c16b:	90                   	nop
41c16c:	55                   	push   %ebp
41c16d:	8b ec                	mov    %esp,%ebp
41c16f:	83 c4 f8             	add    $0xfffffff8,%esp
41c172:	53                   	push   %ebx
41c173:	56                   	push   %esi
41c174:	33 c0                	xor    %eax,%eax
41c176:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c179:	a1 e4 98 46 00       	mov    0x4698e4,%eax
41c17e:	e8 75 7f ff ff       	call   0x4140f8
41c183:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c186:	33 c0                	xor    %eax,%eax
41c188:	55                   	push   %ebp
41c189:	68 09 c2 41 00       	push   $0x41c209
41c18e:	64 ff 30             	push   %fs:(%eax)
41c191:	64 89 20             	mov    %esp,%fs:(%eax)