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
41bf28:	8b d6                	mov    %esi,%edx
41bf2a:	8b c3                	mov    %ebx,%eax
41bf2c:	e8 3b ff ff ff       	call   0x41be6c
41bf31:	8b 43 04             	mov    0x4(%ebx),%eax
41bf34:	89 2c b0             	mov    %ebp,(%eax,%esi,4)
41bf37:	5d                   	pop    %ebp
41bf38:	5f                   	pop    %edi
41bf39:	5e                   	pop    %esi
41bf3a:	5b                   	pop    %ebx
41bf3b:	c3                   	ret
41bf3c:	53                   	push   %ebx
41bf3d:	56                   	push   %esi
41bf3e:	57                   	push   %edi
41bf3f:	8b f9                	mov    %ecx,%edi
41bf41:	8b f2                	mov    %edx,%esi
41bf43:	8b d8                	mov    %eax,%ebx
41bf45:	85 f6                	test   %esi,%esi
41bf47:	7c 05                	jl     0x41bf4e
41bf49:	3b 73 08             	cmp    0x8(%ebx),%esi
41bf4c:	7c 0f                	jl     0x41bf5d
41bf4e:	8b 15 c0 b3 49 00    	mov    0x49b3c0,%edx
41bf54:	8b ce                	mov    %esi,%ecx
41bf56:	8b 03                	mov    (%ebx),%eax
41bf58:	e8 1f fe ff ff       	call   0x41bd7c
41bf5d:	8b 53 04             	mov    0x4(%ebx),%edx
41bf60:	8b 04 b2             	mov    (%edx,%esi,4),%eax
41bf63:	3b f8                	cmp    %eax,%edi
41bf65:	74 21                	je     0x41bf88
41bf67:	89 3c b2             	mov    %edi,(%edx,%esi,4)
41bf6a:	85 c0                	test   %eax,%eax
41bf6c:	74 0b                	je     0x41bf79
41bf6e:	b1 02                	mov    $0x2,%cl
41bf70:	8b d0                	mov    %eax,%edx
41bf72:	8b c3                	mov    %ebx,%eax
41bf74:	8b 30                	mov    (%eax),%esi
41bf76:	ff 56 04             	call   *0x4(%esi)
41bf79:	85 ff                	test   %edi,%edi
41bf7b:	74 0b                	je     0x41bf88
41bf7d:	33 c9                	xor    %ecx,%ecx
41bf7f:	8b d7                	mov    %edi,%edx
41bf81:	8b c3                	mov    %ebx,%eax
41bf83:	8b 18                	mov    (%eax),%ebx
41bf85:	ff 53 04             	call   *0x4(%ebx)
41bf88:	5f                   	pop    %edi
41bf89:	5e                   	pop    %esi
41bf8a:	5b                   	pop    %ebx
41bf8b:	c3                   	ret
41bf8c:	53                   	push   %ebx
41bf8d:	56                   	push   %esi
41bf8e:	8b d8                	mov    %eax,%ebx
41bf90:	8b c3                	mov    %ebx,%eax
41bf92:	e8 b5 fe ff ff       	call   0x41be4c
41bf97:	8b f0                	mov    %eax,%esi
41bf99:	85 f6                	test   %esi,%esi
41bf9b:	7c 09                	jl     0x41bfa6
41bf9d:	8b d6                	mov    %esi,%edx
41bf9f:	8b c3                	mov    %ebx,%eax
41bfa1:	e8 3a fd ff ff       	call   0x41bce0
41bfa6:	8b c6                	mov    %esi,%eax
41bfa8:	5e                   	pop    %esi
41bfa9:	5b                   	pop    %ebx
41bfaa:	c3                   	ret
41bfab:	90                   	nop
41bfac:	53                   	push   %ebx
41bfad:	56                   	push   %esi
41bfae:	8b f2                	mov    %edx,%esi
41bfb0:	8b d8                	mov    %eax,%ebx
41bfb2:	3b 73 08             	cmp    0x8(%ebx),%esi
41bfb5:	7c 08                	jl     0x41bfbf
41bfb7:	81 fe ff ff ff 07    	cmp    $0x7ffffff,%esi
41bfbd:	7e 0f                	jle    0x41bfce
41bfbf:	8b 15 80 b2 49 00    	mov    0x49b280,%edx
41bfc5:	8b ce                	mov    %esi,%ecx
41bfc7:	8b 03                	mov    (%ebx),%eax
41bfc9:	e8 ae fd ff ff       	call   0x41bd7c
41bfce:	3b 73 0c             	cmp    0xc(%ebx),%esi
41bfd1:	74 10                	je     0x41bfe3
41bfd3:	8b d6                	mov    %esi,%edx
41bfd5:	c1 e2 02             	shl    $0x2,%edx
41bfd8:	8d 43 04             	lea    0x4(%ebx),%eax
41bfdb:	e8 d8 67 fe ff       	call   0x4027b8
41bfe0:	89 73 0c             	mov    %esi,0xc(%ebx)
41bfe3:	5e                   	pop    %esi
41bfe4:	5b                   	pop    %ebx
41bfe5:	c3                   	ret
41bfe6:	8b c0                	mov    %eax,%eax
41bfe8:	53                   	push   %ebx
41bfe9:	56                   	push   %esi
41bfea:	57                   	push   %edi
41bfeb:	55                   	push   %ebp
41bfec:	8b f2                	mov    %edx,%esi
41bfee:	8b d8                	mov    %eax,%ebx
41bff0:	85 f6                	test   %esi,%esi
41bff2:	7c 08                	jl     0x41bffc
41bff4:	81 fe ff ff ff 07    	cmp    $0x7ffffff,%esi
41bffa:	7e 0f                	jle    0x41c00b
41bffc:	8b 15 a4 b1 49 00    	mov    0x49b1a4,%edx
41c002:	8b ce                	mov    %esi,%ecx
41c004:	8b 03                	mov    (%ebx),%eax
41c006:	e8 71 fd ff ff       	call   0x41bd7c
41c00b:	3b 73 0c             	cmp    0xc(%ebx),%esi
41c00e:	7e 09                	jle    0x41c019
41c010:	8b d6                	mov    %esi,%edx
41c012:	8b c3                	mov    %ebx,%eax
41c014:	e8 93 ff ff ff       	call   0x41bfac
41c019:	8b 43 08             	mov    0x8(%ebx),%eax
41c01c:	3b f0                	cmp    %eax,%esi
41c01e:	7e 19                	jle    0x41c039
41c020:	8b 53 04             	mov    0x4(%ebx),%edx
41c023:	8d 14 82             	lea    (%edx,%eax,4),%edx
41c026:	8b ce                	mov    %esi,%ecx
41c028:	2b c8                	sub    %eax,%ecx
41c02a:	8b c1                	mov    %ecx,%eax
41c02c:	c1 e0 02             	shl    $0x2,%eax
41c02f:	33 c9                	xor    %ecx,%ecx
41c031:	92                   	xchg   %eax,%edx
41c032:	e8 35 6d fe ff       	call   0x402d6c
41c037:	eb 17                	jmp    0x41c050
41c039:	8b e8                	mov    %eax,%ebp
41c03b:	4d                   	dec    %ebp
41c03c:	8b fe                	mov    %esi,%edi
41c03e:	2b fd                	sub    %ebp,%edi
41c040:	7f 0e                	jg     0x41c050
41c042:	4f                   	dec    %edi
41c043:	8b d5                	mov    %ebp,%edx
41c045:	8b c3                	mov    %ebx,%eax
41c047:	e8 94 fc ff ff       	call   0x41bce0
41c04c:	4d                   	dec    %ebp
41c04d:	47                   	inc    %edi
41c04e:	75 f3                	jne    0x41c043
41c050:	89 73 08             	mov    %esi,0x8(%ebx)
41c053:	5d                   	pop    %ebp
41c054:	5f                   	pop    %edi
41c055:	5e                   	pop    %esi
41c056:	5b                   	pop    %ebx
41c057:	c3                   	ret
41c058:	c3                   	ret
41c059:	8d 40 00             	lea    0x0(%eax),%eax
41c05c:	53                   	push   %ebx
41c05d:	56                   	push   %esi
41c05e:	84 d2                	test   %dl,%dl
41c060:	74 08                	je     0x41c06a
41c062:	83 c4 f0             	add    $0xfffffff0,%esp
41c065:	e8 ce 76 fe ff       	call   0x403738
41c06a:	8b da                	mov    %edx,%ebx
41c06c:	8b f0                	mov    %eax,%esi
41c06e:	33 d2                	xor    %edx,%edx
41c070:	8b c6                	mov    %esi,%eax
41c072:	e8 45 73 fe ff       	call   0x4033bc
41c077:	8d 46 08             	lea    0x8(%esi),%eax
41c07a:	50                   	push   %eax
41c07b:	e8 20 a8 fe ff       	call   0x4068a0
41c080:	b2 01                	mov    $0x1,%dl
41c082:	a1 bc 95 41 00       	mov    0x4195bc,%eax
41c087:	e8 30 73 fe ff       	call   0x4033bc
41c08c:	89 46 04             	mov    %eax,0x4(%esi)
41c08f:	c6 46 20 00          	movb   $0x0,0x20(%esi)
41c093:	8b c6                	mov    %esi,%eax
41c095:	84 db                	test   %bl,%bl
41c097:	74 0f                	je     0x41c0a8
41c099:	e8 f2 76 fe ff       	call   0x403790
41c09e:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41c0a5:	83 c4 0c             	add    $0xc,%esp
41c0a8:	8b c6                	mov    %esi,%eax
41c0aa:	5e                   	pop    %esi
41c0ab:	5b                   	pop    %ebx
41c0ac:	c3                   	ret
41c0ad:	8d 40 00             	lea    0x0(%eax),%eax
41c0b0:	55                   	push   %ebp
41c0b1:	8b ec                	mov    %esp,%ebp
41c0b3:	83 c4 f8             	add    $0xfffffff8,%esp
41c0b6:	e8 e5 76 fe ff       	call   0x4037a0
41c0bb:	88 55 fb             	mov    %dl,-0x5(%ebp)
41c0be:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c0c1:	8b 45 fc             	mov    -0x4(%ebp),%eax