41bbfa:	3b 54 24 04          	cmp    0x4(%esp),%edx
41bbfe:	75 03                	jne    0x41bc03
41bc00:	3b 04 24             	cmp    (%esp),%eax
41bc03:	5a                   	pop    %edx
41bc04:	58                   	pop    %eax
41bc05:	75 1e                	jne    0x41bc25
41bc07:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bc0a:	8b 10                	mov    (%eax),%edx
41bc0c:	ff 12                	call   *(%edx)
41bc0e:	8b c8                	mov    %eax,%ecx
41bc10:	8b 45 f4             	mov    -0xc(%ebp),%eax
41bc13:	8b 50 04             	mov    0x4(%eax),%edx
41bc16:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bc19:	8b 40 04             	mov    0x4(%eax),%eax
41bc1c:	e8 17 c8 fe ff       	call   0x408438
41bc21:	84 c0                	test   %al,%al
41bc23:	75 04                	jne    0x41bc29
41bc25:	33 c0                	xor    %eax,%eax
41bc27:	eb 02                	jmp    0x41bc2b
41bc29:	b0 01                	mov    $0x1,%al
41bc2b:	88 45 ff             	mov    %al,-0x1(%ebp)
41bc2e:	33 c0                	xor    %eax,%eax
41bc30:	5a                   	pop    %edx
41bc31:	59                   	pop    %ecx
41bc32:	59                   	pop    %ecx
41bc33:	64 89 10             	mov    %edx,%fs:(%eax)
41bc36:	68 4b bc 41 00       	push   $0x41bc4b
41bc3b:	8b 45 f4             	mov    -0xc(%ebp),%eax
41bc3e:	e8 a9 77 fe ff       	call   0x4033ec
41bc43:	c3                   	ret
41bc44:	e9 1f 7f fe ff       	jmp    0x403b68
41bc49:	eb f0                	jmp    0x41bc3b
41bc4b:	33 c0                	xor    %eax,%eax
41bc4d:	5a                   	pop    %edx
41bc4e:	59                   	pop    %ecx
41bc4f:	59                   	pop    %ecx
41bc50:	64 89 10             	mov    %edx,%fs:(%eax)
41bc53:	68 68 bc 41 00       	push   $0x41bc68
41bc58:	8b 45 f8             	mov    -0x8(%ebp),%eax
41bc5b:	e8 8c 77 fe ff       	call   0x4033ec
41bc60:	c3                   	ret
41bc61:	e9 02 7f fe ff       	jmp    0x403b68
41bc66:	eb f0                	jmp    0x41bc58
41bc68:	8a 45 ff             	mov    -0x1(%ebp),%al
41bc6b:	5f                   	pop    %edi
41bc6c:	5e                   	pop    %esi
41bc6d:	5b                   	pop    %ebx
41bc6e:	8b e5                	mov    %ebp,%esp
41bc70:	5d                   	pop    %ebp
41bc71:	c2 04 00             	ret    $0x4
41bc74:	53                   	push   %ebx
41bc75:	56                   	push   %esi
41bc76:	e8 25 7b fe ff       	call   0x4037a0
41bc7b:	8b da                	mov    %edx,%ebx
41bc7d:	8b f0                	mov    %eax,%esi
41bc7f:	8b c6                	mov    %esi,%eax
41bc81:	8b 10                	mov    (%eax),%edx
41bc83:	ff 52 08             	call   *0x8(%edx)
41bc86:	84 db                	test   %bl,%bl
41bc88:	7e 07                	jle    0x41bc91
41bc8a:	8b c6                	mov    %esi,%eax
41bc8c:	e8 f7 7a fe ff       	call   0x403788
41bc91:	5e                   	pop    %esi
41bc92:	5b                   	pop    %ebx
41bc93:	c3                   	ret
41bc94:	53                   	push   %ebx
41bc95:	56                   	push   %esi
41bc96:	57                   	push   %edi
41bc97:	8b fa                	mov    %edx,%edi
41bc99:	8b d8                	mov    %eax,%ebx
41bc9b:	8b 73 08             	mov    0x8(%ebx),%esi
41bc9e:	3b 73 0c             	cmp    0xc(%ebx),%esi
41bca1:	75 06                	jne    0x41bca9
41bca3:	8b c3                	mov    %ebx,%eax
41bca5:	8b 10                	mov    (%eax),%edx
41bca7:	ff 12                	call   *(%edx)
41bca9:	8b 43 04             	mov    0x4(%ebx),%eax
41bcac:	89 3c b0             	mov    %edi,(%eax,%esi,4)
41bcaf:	ff 43 08             	incl   0x8(%ebx)
41bcb2:	85 ff                	test   %edi,%edi
41bcb4:	74 0b                	je     0x41bcc1
41bcb6:	33 c9                	xor    %ecx,%ecx
41bcb8:	8b d7                	mov    %edi,%edx
41bcba:	8b c3                	mov    %ebx,%eax
41bcbc:	8b 18                	mov    (%eax),%ebx
41bcbe:	ff 53 04             	call   *0x4(%ebx)
41bcc1:	8b c6                	mov    %esi,%eax
41bcc3:	5f                   	pop    %edi
41bcc4:	5e                   	pop    %esi
41bcc5:	5b                   	pop    %ebx
41bcc6:	c3                   	ret
41bcc7:	90                   	nop
41bcc8:	53                   	push   %ebx
41bcc9:	8b d8                	mov    %eax,%ebx
41bccb:	33 d2                	xor    %edx,%edx
41bccd:	8b c3                	mov    %ebx,%eax
41bccf:	e8 14 03 00 00       	call   0x41bfe8
41bcd4:	33 d2                	xor    %edx,%edx
41bcd6:	8b c3                	mov    %ebx,%eax
41bcd8:	e8 cf 02 00 00       	call   0x41bfac
41bcdd:	5b                   	pop    %ebx
41bcde:	c3                   	ret
41bcdf:	90                   	nop
41bce0:	53                   	push   %ebx
41bce1:	56                   	push   %esi
41bce2:	57                   	push   %edi
41bce3:	8b f2                	mov    %edx,%esi
41bce5:	8b d8                	mov    %eax,%ebx
41bce7:	85 f6                	test   %esi,%esi
41bce9:	7c 05                	jl     0x41bcf0
41bceb:	3b 73 08             	cmp    0x8(%ebx),%esi
41bcee:	7c 0f                	jl     0x41bcff
41bcf0:	8b 15 c0 b3 49 00    	mov    0x49b3c0,%edx
41bcf6:	8b ce                	mov    %esi,%ecx
41bcf8:	8b 03                	mov    (%ebx),%eax
41bcfa:	e8 7d 00 00 00       	call   0x41bd7c
41bcff:	8b d6                	mov    %esi,%edx
41bd01:	8b c3                	mov    %ebx,%eax
41bd03:	e8 e8 00 00 00       	call   0x41bdf0
41bd08:	8b f8                	mov    %eax,%edi
41bd0a:	ff 4b 08             	decl   0x8(%ebx)
41bd0d:	8b 43 08             	mov    0x8(%ebx),%eax
41bd10:	3b f0                	cmp    %eax,%esi
41bd12:	7d 19                	jge    0x41bd2d
41bd14:	2b c6                	sub    %esi,%eax
41bd16:	8b c8                	mov    %eax,%ecx
41bd18:	c1 e1 02             	shl    $0x2,%ecx
41bd1b:	8b 43 04             	mov    0x4(%ebx),%eax
41bd1e:	8d 14 b0             	lea    (%eax,%esi,4),%edx
41bd21:	8b 43 04             	mov    0x4(%ebx),%eax
41bd24:	8d 44 b0 04          	lea    0x4(%eax,%esi,4),%eax
41bd28:	e8 47 6c fe ff       	call   0x402974
41bd2d:	85 ff                	test   %edi,%edi
41bd2f:	74 0b                	je     0x41bd3c
41bd31:	b1 02                	mov    $0x2,%cl
41bd33:	8b d7                	mov    %edi,%edx
41bd35:	8b c3                	mov    %ebx,%eax
41bd37:	8b 18                	mov    (%eax),%ebx
41bd39:	ff 53 04             	call   *0x4(%ebx)
41bd3c:	5f                   	pop    %edi
41bd3d:	5e                   	pop    %esi
41bd3e:	5b                   	pop    %ebx
41bd3f:	c3                   	ret
41bd40:	8b 45 04             	mov    0x4(%ebp),%eax
41bd43:	c3                   	ret
41bd44:	53                   	push   %ebx
41bd45:	56                   	push   %esi
41bd46:	83 c4 f8             	add    $0xfffffff8,%esp
41bd49:	8b f1                	mov    %ecx,%esi
41bd4b:	8b da                	mov    %edx,%ebx
41bd4d:	e8 ee ff ff ff       	call   0x41bd40
41bd52:	50                   	push   %eax
41bd53:	89 74 24 04          	mov    %esi,0x4(%esp)
41bd57:	c6 44 24 08 00       	movb   $0x0,0x8(%esp)
41bd5c:	8d 44 24 04          	lea    0x4(%esp),%eax
41bd60:	50                   	push   %eax
41bd61:	6a 00                	push   $0x0
41bd63:	8b cb                	mov    %ebx,%ecx
41bd65:	b2 01                	mov    $0x1,%dl
41bd67:	a1 94 93 41 00       	mov    0x419394,%eax
41bd6c:	e8 03 07 ff ff       	call   0x40c474
41bd71:	e9 2a 7e fe ff       	jmp    0x403ba0
41bd76:	59                   	pop    %ecx
41bd77:	5a                   	pop    %edx
41bd78:	5e                   	pop    %esi
41bd79:	5b                   	pop    %ebx
41bd7a:	c3                   	ret
41bd7b:	90                   	nop
41bd7c:	55                   	push   %ebp
41bd7d:	8b ec                	mov    %esp,%ebp
41bd7f:	6a 00                	push   $0x0
41bd81:	53                   	push   %ebx
41bd82:	56                   	push   %esi
41bd83:	8b f1                	mov    %ecx,%esi
41bd85:	8b da                	mov    %edx,%ebx
41bd87:	33 c0                	xor    %eax,%eax
41bd89:	55                   	push   %ebp
41bd8a:	68 c4 bd 41 00       	push   $0x41bdc4
41bd8f:	64 ff 30             	push   %fs:(%eax)
41bd92:	64 89 20             	mov    %esp,%fs:(%eax)
41bd95:	8d 55 fc             	lea    -0x4(%ebp),%edx
41bd98:	8b c3                	mov    %ebx,%eax
41bd9a:	e8 99 a4 fe ff       	call   0x406238
41bd9f:	8b 55 fc             	mov    -0x4(%ebp),%edx
41bda2:	8b ce                	mov    %esi,%ecx
41bda4:	a1 bc 95 41 00       	mov    0x4195bc,%eax
41bda9:	e8 96 ff ff ff       	call   0x41bd44
41bdae:	33 c0                	xor    %eax,%eax
41bdb0:	5a                   	pop    %edx
41bdb1:	59                   	pop    %ecx
41bdb2:	59                   	pop    %ecx
41bdb3:	64 89 10             	mov    %edx,%fs:(%eax)
41bdb6:	68 cb bd 41 00       	push   $0x41bdcb
41bdbb:	8d 45 fc             	lea    -0x4(%ebp),%eax
41bdbe:	e8 a1 83 fe ff       	call   0x404164
41bdc3:	c3                   	ret
41bdc4:	e9 9f 7d fe ff       	jmp    0x403b68
41bdc9:	eb f0                	jmp    0x41bdbb
41bdcb:	5e                   	pop    %esi
41bdcc:	5b                   	pop    %ebx
41bdcd:	59                   	pop    %ecx
41bdce:	5d                   	pop    %ebp
41bdcf:	c3                   	ret
41bdd0:	53                   	push   %ebx
41bdd1:	8b d8                	mov    %eax,%ebx
41bdd3:	8b 43 08             	mov    0x8(%ebx),%eax
41bdd6:	3b 43 0c             	cmp    0xc(%ebx),%eax
41bdd9:	75 06                	jne    0x41bde1
41bddb:	8b c3                	mov    %ebx,%eax
41bddd:	8b 10                	mov    (%eax),%edx
41bddf:	ff 12                	call   *(%edx)
41bde1:	8b c3                	mov    %ebx,%eax
41bde3:	5b                   	pop    %ebx
41bde4:	c3                   	ret
41bde5:	8d 40 00             	lea    0x0(%eax),%eax
41bde8:	33 d2                	xor    %edx,%edx
41bdea:	e8 01 00 00 00       	call   0x41bdf0
41bdef:	c3                   	ret
41bdf0:	53                   	push   %ebx
41bdf1:	56                   	push   %esi
41bdf2:	8b f2                	mov    %edx,%esi
41bdf4:	8b d8                	mov    %eax,%ebx
41bdf6:	85 f6                	test   %esi,%esi
41bdf8:	7c 05                	jl     0x41bdff
41bdfa:	3b 73 08             	cmp    0x8(%ebx),%esi
41bdfd:	7c 0f                	jl     0x41be0e
41bdff:	8b 15 c0 b3 49 00    	mov    0x49b3c0,%edx
41be05:	8b ce                	mov    %esi,%ecx
41be07:	8b 03                	mov    (%ebx),%eax
41be09:	e8 6e ff ff ff       	call   0x41bd7c
41be0e:	8b 43 04             	mov    0x4(%ebx),%eax
41be11:	8b 04 b0             	mov    (%eax,%esi,4),%eax
41be14:	5e                   	pop    %esi
41be15:	5b                   	pop    %ebx
41be16:	c3                   	ret
41be17:	90                   	nop
41be18:	8b 50 0c             	mov    0xc(%eax),%edx
41be1b:	83 fa 40             	cmp    $0x40,%edx
41be1e:	7e 0e                	jle    0x41be2e
41be20:	8b ca                	mov    %edx,%ecx
41be22:	85 c9                	test   %ecx,%ecx
41be24:	79 03                	jns    0x41be29
41be26:	83 c1 03             	add    $0x3,%ecx
41be29:	c1 f9 02             	sar    $0x2,%ecx
41be2c:	eb 11                	jmp    0x41be3f
41be2e:	83 fa 08             	cmp    $0x8,%edx
41be31:	7e 07                	jle    0x41be3a
41be33:	b9 10 00 00 00       	mov    $0x10,%ecx
41be38:	eb 05                	jmp    0x41be3f
41be3a:	b9 04 00 00 00       	mov    $0x4,%ecx
41be3f:	03 ca                	add    %edx,%ecx
41be41:	8b d1                	mov    %ecx,%edx
41be43:	e8 64 01 00 00       	call   0x41bfac
41be48:	c3                   	ret
41be49:	8d 40 00             	lea    0x0(%eax),%eax
41be4c:	53                   	push   %ebx
41be4d:	33 c9                	xor    %ecx,%ecx
41be4f:	eb 01                	jmp    0x41be52
41be51:	41                   	inc    %ecx
41be52:	3b 48 08             	cmp    0x8(%eax),%ecx
41be55:	7d 08                	jge    0x41be5f
41be57:	8b 58 04             	mov    0x4(%eax),%ebx
41be5a:	3b 14 8b             	cmp    (%ebx,%ecx,4),%edx
41be5d:	75 f2                	jne    0x41be51
41be5f:	3b 48 08             	cmp    0x8(%eax),%ecx
41be62:	75 03                	jne    0x41be67
41be64:	83 c9 ff             	or     $0xffffffff,%ecx
41be67:	8b c1                	mov    %ecx,%eax
41be69:	5b                   	pop    %ebx
41be6a:	c3                   	ret
41be6b:	90                   	nop
41be6c:	53                   	push   %ebx
41be6d:	56                   	push   %esi
41be6e:	57                   	push   %edi
41be6f:	8b f9                	mov    %ecx,%edi
41be71:	8b f2                	mov    %edx,%esi
41be73:	8b d8                	mov    %eax,%ebx
41be75:	85 f6                	test   %esi,%esi
41be77:	7c 05                	jl     0x41be7e
41be79:	3b 73 08             	cmp    0x8(%ebx),%esi
41be7c:	7e 0f                	jle    0x41be8d
41be7e:	8b 15 c0 b3 49 00    	mov    0x49b3c0,%edx
41be84:	8b ce                	mov    %esi,%ecx
41be86:	8b 03                	mov    (%ebx),%eax
41be88:	e8 ef fe ff ff       	call   0x41bd7c
41be8d:	8b 43 08             	mov    0x8(%ebx),%eax
41be90:	3b 43 0c             	cmp    0xc(%ebx),%eax
41be93:	75 06                	jne    0x41be9b
41be95:	8b c3                	mov    %ebx,%eax
41be97:	8b 10                	mov    (%eax),%edx
41be99:	ff 12                	call   *(%edx)
41be9b:	8b 43 08             	mov    0x8(%ebx),%eax
41be9e:	3b f0                	cmp    %eax,%esi
41bea0:	7d 19                	jge    0x41bebb
41bea2:	2b c6                	sub    %esi,%eax
41bea4:	8b c8                	mov    %eax,%ecx
41bea6:	c1 e1 02             	shl    $0x2,%ecx
41bea9:	8b 43 04             	mov    0x4(%ebx),%eax
41beac:	8d 54 b0 04          	lea    0x4(%eax,%esi,4),%edx
41beb0:	8b 43 04             	mov    0x4(%ebx),%eax
41beb3:	8d 04 b0             	lea    (%eax,%esi,4),%eax
41beb6:	e8 b9 6a fe ff       	call   0x402974
41bebb:	8b 43 04             	mov    0x4(%ebx),%eax
41bebe:	89 3c b0             	mov    %edi,(%eax,%esi,4)
41bec1:	ff 43 08             	incl   0x8(%ebx)
41bec4:	85 ff                	test   %edi,%edi
41bec6:	74 0b                	je     0x41bed3
41bec8:	33 c9                	xor    %ecx,%ecx
41beca:	8b d7                	mov    %edi,%edx
41becc:	8b c3                	mov    %ebx,%eax
41bece:	8b 18                	mov    (%eax),%ebx
41bed0:	ff 53 04             	call   *0x4(%ebx)
41bed3:	5f                   	pop    %edi
41bed4:	5e                   	pop    %esi
41bed5:	5b                   	pop    %ebx
41bed6:	c3                   	ret
41bed7:	90                   	nop
41bed8:	8b 50 08             	mov    0x8(%eax),%edx
41bedb:	4a                   	dec    %edx
41bedc:	e8 0f ff ff ff       	call   0x41bdf0
41bee1:	c3                   	ret
41bee2:	8b c0                	mov    %eax,%eax
41bee4:	53                   	push   %ebx
41bee5:	56                   	push   %esi
41bee6:	57                   	push   %edi
41bee7:	55                   	push   %ebp
41bee8:	8b f1                	mov    %ecx,%esi
41beea:	8b fa                	mov    %edx,%edi
41beec:	8b d8                	mov    %eax,%ebx
41beee:	3b f7                	cmp    %edi,%esi
41bef0:	74 45                	je     0x41bf37
41bef2:	85 f6                	test   %esi,%esi
41bef4:	7c 05                	jl     0x41befb
41bef6:	3b 73 08             	cmp    0x8(%ebx),%esi
41bef9:	7c 0f                	jl     0x41bf0a
41befb:	8b 15 c0 b3 49 00    	mov    0x49b3c0,%edx
41bf01:	8b ce                	mov    %esi,%ecx
41bf03:	8b 03                	mov    (%ebx),%eax
41bf05:	e8 72 fe ff ff       	call   0x41bd7c
41bf0a:	8b d7                	mov    %edi,%edx
41bf0c:	8b c3                	mov    %ebx,%eax
41bf0e:	e8 dd fe ff ff       	call   0x41bdf0
41bf13:	8b e8                	mov    %eax,%ebp
41bf15:	8b 43 04             	mov    0x4(%ebx),%eax
41bf18:	33 d2                	xor    %edx,%edx
41bf1a:	89 14 b8             	mov    %edx,(%eax,%edi,4)
41bf1d:	8b d7                	mov    %edi,%edx
41bf1f:	8b c3                	mov    %ebx,%eax
41bf21:	e8 ba fd ff ff       	call   0x41bce0
41bf26:	33 c9                	xor    %ecx,%ecx