41bdb0:	59                   	pop    %ecx
41bdb1:	5e                   	pop    %esi
41bdb2:	c9                   	leave
41bdb3:	c2 04 00             	ret    $0x4
41bdb6:	8b 41 fc             	mov    -0x4(%ecx),%eax
41bdb9:	8b 40 04             	mov    0x4(%eax),%eax
41bdbc:	c7 44 08 fc cc 11 40 	movl   $0x4011cc,-0x4(%eax,%ecx,1)
41bdc3:	00
41bdc4:	c3                   	ret
41bdc5:	8b ff                	mov    %edi,%edi
41bdc7:	55                   	push   %ebp
41bdc8:	8b ec                	mov    %esp,%ebp
41bdca:	83 79 18 10          	cmpl   $0x10,0x18(%ecx)
41bdce:	8d 51 04             	lea    0x4(%ecx),%edx
41bdd1:	72 04                	jb     0x41bdd7
41bdd3:	8b 02                	mov    (%edx),%eax
41bdd5:	eb 02                	jmp    0x41bdd9
41bdd7:	8b c2                	mov    %edx,%eax
41bdd9:	39 45 08             	cmp    %eax,0x8(%ebp)
41bddc:	72 16                	jb     0x41bdf4
41bdde:	83 79 18 10          	cmpl   $0x10,0x18(%ecx)
41bde2:	72 02                	jb     0x41bde6
41bde4:	8b 12                	mov    (%edx),%edx
41bde6:	8b 41 14             	mov    0x14(%ecx),%eax
41bde9:	03 c2                	add    %edx,%eax
41bdeb:	3b 45 08             	cmp    0x8(%ebp),%eax
41bdee:	76 04                	jbe    0x41bdf4
41bdf0:	b0 01                	mov    $0x1,%al
41bdf2:	eb 02                	jmp    0x41bdf6
41bdf4:	32 c0                	xor    %al,%al
41bdf6:	5d                   	pop    %ebp
41bdf7:	c2 04 00             	ret    $0x4
41bdfa:	8b ff                	mov    %edi,%edi
41bdfc:	55                   	push   %ebp
41bdfd:	8b ec                	mov    %esp,%ebp
41bdff:	56                   	push   %esi
41be00:	57                   	push   %edi
41be01:	8b 7d 08             	mov    0x8(%ebp),%edi
41be04:	8b f1                	mov    %ecx,%esi
41be06:	57                   	push   %edi
41be07:	e8 b9 ff ff ff       	call   0x41bdc5
41be0c:	84 c0                	test   %al,%al
41be0e:	74 1b                	je     0x41be2b
41be10:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
41be14:	8d 46 04             	lea    0x4(%esi),%eax
41be17:	72 02                	jb     0x41be1b
41be19:	8b 00                	mov    (%eax),%eax
41be1b:	ff 75 0c             	push   0xc(%ebp)
41be1e:	2b f8                	sub    %eax,%edi
41be20:	8b ce                	mov    %esi,%ecx
41be22:	57                   	push   %edi
41be23:	56                   	push   %esi
41be24:	e8 b7 03 00 00       	call   0x41c1e0
41be29:	eb 38                	jmp    0x41be63
41be2b:	6a 00                	push   $0x0
41be2d:	ff 75 0c             	push   0xc(%ebp)
41be30:	8b ce                	mov    %esi,%ecx
41be32:	e8 40 03 00 00       	call   0x41c177
41be37:	84 c0                	test   %al,%al
41be39:	74 26                	je     0x41be61
41be3b:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
41be3f:	8d 46 04             	lea    0x4(%esi),%eax
41be42:	72 02                	jb     0x41be46
41be44:	8b 00                	mov    (%eax),%eax
41be46:	ff 75 0c             	push   0xc(%ebp)
41be49:	57                   	push   %edi
41be4a:	ff 76 18             	push   0x18(%esi)
41be4d:	50                   	push   %eax
41be4e:	ff 15 f0 80 4a 00    	call   *0x4a80f0
41be54:	83 c4 10             	add    $0x10,%esp
41be57:	8b ce                	mov    %esi,%ecx
41be59:	ff 75 0c             	push   0xc(%ebp)
41be5c:	e8 3a 04 00 00       	call   0x41c29b
41be61:	8b c6                	mov    %esi,%eax
41be63:	5f                   	pop    %edi
41be64:	5e                   	pop    %esi
41be65:	5d                   	pop    %ebp
41be66:	c2 08 00             	ret    $0x8
41be69:	8b ff                	mov    %edi,%edi
41be6b:	55                   	push   %ebp
41be6c:	8b ec                	mov    %esp,%ebp
41be6e:	8b 55 08             	mov    0x8(%ebp),%edx
41be71:	56                   	push   %esi
41be72:	8d 72 01             	lea    0x1(%edx),%esi
41be75:	8a 02                	mov    (%edx),%al
41be77:	42                   	inc    %edx
41be78:	84 c0                	test   %al,%al
41be7a:	75 f9                	jne    0x41be75
41be7c:	2b d6                	sub    %esi,%edx
41be7e:	52                   	push   %edx
41be7f:	ff 75 08             	push   0x8(%ebp)
41be82:	e8 73 ff ff ff       	call   0x41bdfa
41be87:	5e                   	pop    %esi
41be88:	5d                   	pop    %ebp
41be89:	c2 04 00             	ret    $0x4
41be8c:	8b ff                	mov    %edi,%edi
41be8e:	55                   	push   %ebp
41be8f:	8b ec                	mov    %esp,%ebp
41be91:	56                   	push   %esi
41be92:	ff 75 08             	push   0x8(%ebp)
41be95:	8b f1                	mov    %ecx,%esi
41be97:	83 66 14 00          	andl   $0x0,0x14(%esi)
41be9b:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
41bea2:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41bea6:	e8 be ff ff ff       	call   0x41be69
41beab:	8b c6                	mov    %esi,%eax
41bead:	5e                   	pop    %esi
41beae:	5d                   	pop    %ebp
41beaf:	c2 04 00             	ret    $0x4
41beb2:	6a 04                	push   $0x4
41beb4:	b8 00 14 49 00       	mov    $0x491400,%eax
41beb9:	e8 15 46 07 00       	call   0x4904d3
41bebe:	8b f1                	mov    %ecx,%esi
41bec0:	89 75 f0             	mov    %esi,-0x10(%ebp)
41bec3:	ff 15 e8 80 4a 00    	call   *0x4a80e8
41bec9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41becd:	8d 4e 0c             	lea    0xc(%esi),%ecx
41bed0:	ff 75 08             	push   0x8(%ebp)
41bed3:	c7 06 dc 11 40 00    	movl   $0x4011dc,(%esi)
41bed9:	e8 94 03 00 00       	call   0x41c272
41bede:	8b c6                	mov    %esi,%eax
41bee0:	e8 bc 45 07 00       	call   0x4904a1
41bee5:	c2 04 00             	ret    $0x4
41bee8:	cc                   	int3
41bee9:	cc                   	int3
41beea:	cc                   	int3
41beeb:	cc                   	int3
41beec:	cc                   	int3
41beed:	cc                   	int3
41beee:	cc                   	int3
41beef:	cc                   	int3
41bef0:	8b ff                	mov    %edi,%edi
41bef2:	55                   	push   %ebp
41bef3:	8b ec                	mov    %esp,%ebp
41bef5:	56                   	push   %esi
41bef6:	8b f1                	mov    %ecx,%esi
41bef8:	c7 06 ec 11 40 00    	movl   $0x4011ec,(%esi)
41befe:	e8 8d 00 00 00       	call   0x41bf90
41bf03:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41bf07:	74 08                	je     0x41bf11
41bf09:	56                   	push   %esi
41bf0a:	ff 15 10 74 4a 00    	call   *0x4a7410
41bf10:	59                   	pop    %ecx
41bf11:	8b c6                	mov    %esi,%eax
41bf13:	5e                   	pop    %esi
41bf14:	5d                   	pop    %ebp
41bf15:	c2 04 00             	ret    $0x4
41bf18:	cc                   	int3
41bf19:	cc                   	int3
41bf1a:	cc                   	int3
41bf1b:	cc                   	int3
41bf1c:	cc                   	int3
41bf1d:	cc                   	int3
41bf1e:	cc                   	int3
41bf1f:	cc                   	int3
41bf20:	c7 01 ec 11 40 00    	movl   $0x4011ec,(%ecx)
41bf26:	e9 65 00 00 00       	jmp    0x41bf90
41bf2b:	cc                   	int3
41bf2c:	cc                   	int3
41bf2d:	cc                   	int3
41bf2e:	cc                   	int3
41bf2f:	cc                   	int3
41bf30:	8b ff                	mov    %edi,%edi
41bf32:	55                   	push   %ebp
41bf33:	8b ec                	mov    %esp,%ebp
41bf35:	51                   	push   %ecx
41bf36:	56                   	push   %esi
41bf37:	ff 75 08             	push   0x8(%ebp)
41bf3a:	8b f1                	mov    %ecx,%esi
41bf3c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41bf3f:	e8 dc 03 00 00       	call   0x41c320
41bf44:	c7 06 ec 11 40 00    	movl   $0x4011ec,(%esi)
41bf4a:	8b c6                	mov    %esi,%eax
41bf4c:	5e                   	pop    %esi
41bf4d:	c9                   	leave
41bf4e:	c2 04 00             	ret    $0x4
41bf51:	cc                   	int3
41bf52:	cc                   	int3
41bf53:	cc                   	int3
41bf54:	cc                   	int3
41bf55:	cc                   	int3
41bf56:	cc                   	int3
41bf57:	cc                   	int3
41bf58:	cc                   	int3
41bf59:	cc                   	int3
41bf5a:	cc                   	int3
41bf5b:	cc                   	int3
41bf5c:	cc                   	int3
41bf5d:	cc                   	int3
41bf5e:	cc                   	int3
41bf5f:	cc                   	int3
41bf60:	8b ff                	mov    %edi,%edi
41bf62:	55                   	push   %ebp
41bf63:	8b ec                	mov    %esp,%ebp
41bf65:	56                   	push   %esi
41bf66:	8b f1                	mov    %ecx,%esi
41bf68:	e8 23 00 00 00       	call   0x41bf90
41bf6d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41bf71:	74 08                	je     0x41bf7b
41bf73:	56                   	push   %esi
41bf74:	ff 15 10 74 4a 00    	call   *0x4a7410
41bf7a:	59                   	pop    %ecx
41bf7b:	8b c6                	mov    %esi,%eax
41bf7d:	5e                   	pop    %esi
41bf7e:	5d                   	pop    %ebp
41bf7f:	c2 04 00             	ret    $0x4
41bf82:	cc                   	int3
41bf83:	cc                   	int3
41bf84:	cc                   	int3
41bf85:	cc                   	int3
41bf86:	cc                   	int3
41bf87:	cc                   	int3
41bf88:	cc                   	int3
41bf89:	cc                   	int3
41bf8a:	cc                   	int3
41bf8b:	cc                   	int3
41bf8c:	cc                   	int3
41bf8d:	cc                   	int3
41bf8e:	cc                   	int3
41bf8f:	cc                   	int3
41bf90:	8b ff                	mov    %edi,%edi
41bf92:	56                   	push   %esi
41bf93:	8b f1                	mov    %ecx,%esi
41bf95:	6a 00                	push   $0x0
41bf97:	6a 01                	push   $0x1
41bf99:	8d 4e 0c             	lea    0xc(%esi),%ecx
41bf9c:	c7 06 dc 11 40 00    	movl   $0x4011dc,(%esi)
41bfa2:	e8 12 03 00 00       	call   0x41c2b9
41bfa7:	8b ce                	mov    %esi,%ecx
41bfa9:	5e                   	pop    %esi
41bfaa:	ff 25 ec 80 4a 00    	jmp    *0x4a80ec
41bfb0:	8b ff                	mov    %edi,%edi
41bfb2:	55                   	push   %ebp
41bfb3:	8b ec                	mov    %esp,%ebp
41bfb5:	83 ec 2c             	sub    $0x2c,%esp
41bfb8:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41bfbd:	33 c5                	xor    %ebp,%eax
41bfbf:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bfc2:	51                   	push   %ecx
41bfc3:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41bfc6:	e8 55 03 00 00       	call   0x41c320
41bfcb:	68 f4 ea 49 00       	push   $0x49eaf4
41bfd0:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41bfd3:	50                   	push   %eax
41bfd4:	e8 c2 44 07 00       	call   0x49049b
41bfd9:	cc                   	int3
41bfda:	8b ff                	mov    %edi,%edi
41bfdc:	55                   	push   %ebp
41bfdd:	8b ec                	mov    %esp,%ebp
41bfdf:	51                   	push   %ecx
41bfe0:	53                   	push   %ebx
41bfe1:	8b 5d 08             	mov    0x8(%ebp),%ebx
41bfe4:	56                   	push   %esi
41bfe5:	8b f1                	mov    %ecx,%esi
41bfe7:	57                   	push   %edi
41bfe8:	8b 46 14             	mov    0x14(%esi),%eax
41bfeb:	3b c3                	cmp    %ebx,%eax
41bfed:	73 08                	jae    0x41bff7
41bfef:	e8 96 1a 07 00       	call   0x48da8a
41bff4:	8b 46 14             	mov    0x14(%esi),%eax
41bff7:	8b 7d 0c             	mov    0xc(%ebp),%edi
41bffa:	2b c3                	sub    %ebx,%eax
41bffc:	3b c7                	cmp    %edi,%eax
41bffe:	73 02                	jae    0x41c002
41c000:	8b f8                	mov    %eax,%edi
41c002:	85 ff                	test   %edi,%edi
41c004:	74 44                	je     0x41c04a
41c006:	8b 56 18             	mov    0x18(%esi),%edx
41c009:	8d 4e 04             	lea    0x4(%esi),%ecx
41c00c:	83 fa 10             	cmp    $0x10,%edx
41c00f:	72 0a                	jb     0x41c01b
41c011:	8b 19                	mov    (%ecx),%ebx
41c013:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41c016:	8b 5d 08             	mov    0x8(%ebp),%ebx
41c019:	eb 03                	jmp    0x41c01e
41c01b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c01e:	72 02                	jb     0x41c022
41c020:	8b 09                	mov    (%ecx),%ecx
41c022:	2b c7                	sub    %edi,%eax
41c024:	2b d3                	sub    %ebx,%edx
41c026:	50                   	push   %eax
41c027:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c02a:	03 c3                	add    %ebx,%eax
41c02c:	03 c7                	add    %edi,%eax
41c02e:	50                   	push   %eax
41c02f:	52                   	push   %edx
41c030:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
41c033:	50                   	push   %eax
41c034:	ff 15 c4 80 4a 00    	call   *0x4a80c4
41c03a:	8b 46 14             	mov    0x14(%esi),%eax
41c03d:	83 c4 10             	add    $0x10,%esp
41c040:	2b c7                	sub    %edi,%eax
41c042:	8b ce                	mov    %esi,%ecx
41c044:	50                   	push   %eax
41c045:	e8 51 02 00 00       	call   0x41c29b
41c04a:	5f                   	pop    %edi
41c04b:	8b c6                	mov    %esi,%eax
41c04d:	5e                   	pop    %esi
41c04e:	5b                   	pop    %ebx
41c04f:	c9                   	leave
41c050:	c2 08 00             	ret    $0x8
41c053:	8b ff                	mov    %edi,%edi
41c055:	55                   	push   %ebp
41c056:	8b ec                	mov    %esp,%ebp
41c058:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c05b:	83 ec 0c             	sub    $0xc,%esp
41c05e:	85 c9                	test   %ecx,%ecx
41c060:	75 0c                	jne    0x41c06e
41c062:	51                   	push   %ecx
41c063:	ff 15 14 74 4a 00    	call   *0x4a7414
41c069:	59                   	pop    %ecx
41c06a:	c9                   	leave
41c06b:	c2 04 00             	ret    $0x4
41c06e:	83 c8 ff             	or     $0xffffffff,%eax
41c071:	33 d2                	xor    %edx,%edx
41c073:	f7 f1                	div    %ecx
41c075:	83 f8 01             	cmp    $0x1,%eax
41c078:	73 e8                	jae    0x41c062
41c07a:	6a 00                	push   $0x0
41c07c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41c07f:	e8 48 04 00 00       	call   0x41c4cc
41c084:	68 4c eb 49 00       	push   $0x49eb4c
41c089:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c08c:	50                   	push   %eax
41c08d:	e8 09 44 07 00       	call   0x49049b
41c092:	cc                   	int3
41c093:	6a 10                	push   $0x10
41c095:	b8 5b 14 49 00       	mov    $0x49145b,%eax
41c09a:	e8 9d 44 07 00       	call   0x49053c
41c09f:	8b f9                	mov    %ecx,%edi
41c0a1:	89 7d ec             	mov    %edi,-0x14(%ebp)
41c0a4:	8b 75 08             	mov    0x8(%ebp),%esi
41c0a7:	6a fe                	push   $0xfffffffe
41c0a9:	83 ce 0f             	or     $0xf,%esi
41c0ac:	59                   	pop    %ecx
41c0ad:	3b f1                	cmp    %ecx,%esi
41c0af:	76 05                	jbe    0x41c0b6
41c0b1:	8b 75 08             	mov    0x8(%ebp),%esi
41c0b4:	eb 23                	jmp    0x41c0d9
41c0b6:	33 d2                	xor    %edx,%edx
41c0b8:	c7 45 e8 03 00 00 00 	movl   $0x3,-0x18(%ebp)
41c0bf:	8b c6                	mov    %esi,%eax
41c0c1:	8b 5f 18             	mov    0x18(%edi),%ebx
41c0c4:	f7 75 e8             	divl   -0x18(%ebp)
41c0c7:	d1 eb                	shr    $1,%ebx
41c0c9:	3b c3                	cmp    %ebx,%eax
41c0cb:	73 0c                	jae    0x41c0d9
41c0cd:	8b 47 18             	mov    0x18(%edi),%eax
41c0d0:	2b cb                	sub    %ebx,%ecx
41c0d2:	3b c1                	cmp    %ecx,%eax