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
41c0d4:	77 03                	ja     0x41c0d9
41c0d6:	8d 34 03             	lea    (%ebx,%eax,1),%esi
41c0d9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c0dd:	8d 46 01             	lea    0x1(%esi),%eax
41c0e0:	50                   	push   %eax
41c0e1:	8b cf                	mov    %edi,%ecx
41c0e3:	e8 6b ff ff ff       	call   0x41c053
41c0e8:	8b c8                	mov    %eax,%ecx
41c0ea:	89 45 e8             	mov    %eax,-0x18(%ebp)
41c0ed:	eb 2c                	jmp    0x41c11b
41c0ef:	8b 45 08             	mov    0x8(%ebp),%eax
41c0f2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41c0f5:	89 45 e8             	mov    %eax,-0x18(%ebp)
41c0f8:	40                   	inc    %eax
41c0f9:	89 65 f0             	mov    %esp,-0x10(%ebp)
41c0fc:	50                   	push   %eax
41c0fd:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41c101:	e8 4d ff ff ff       	call   0x41c053
41c106:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c109:	b8 0f c1 41 00       	mov    $0x41c10f,%eax
41c10e:	c3                   	ret
41c10f:	8b 75 e8             	mov    -0x18(%ebp),%esi
41c112:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41c115:	8b 7d ec             	mov    -0x14(%ebp),%edi
41c118:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41c11b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41c11e:	85 db                	test   %ebx,%ebx
41c120:	74 1b                	je     0x41c13d
41c122:	83 7f 18 10          	cmpl   $0x10,0x18(%edi)
41c126:	8d 47 04             	lea    0x4(%edi),%eax
41c129:	72 02                	jb     0x41c12d
41c12b:	8b 00                	mov    (%eax),%eax
41c12d:	53                   	push   %ebx
41c12e:	50                   	push   %eax
41c12f:	8d 46 01             	lea    0x1(%esi),%eax
41c132:	50                   	push   %eax
41c133:	51                   	push   %ecx
41c134:	ff 15 f0 80 4a 00    	call   *0x4a80f0
41c13a:	83 c4 10             	add    $0x10,%esp
41c13d:	6a 00                	push   $0x0
41c13f:	6a 01                	push   $0x1
41c141:	8b cf                	mov    %edi,%ecx
41c143:	e8 71 01 00 00       	call   0x41c2b9
41c148:	8b 45 e8             	mov    -0x18(%ebp),%eax
41c14b:	8b cf                	mov    %edi,%ecx
41c14d:	53                   	push   %ebx
41c14e:	89 47 04             	mov    %eax,0x4(%edi)
41c151:	89 77 18             	mov    %esi,0x18(%edi)
41c154:	e8 42 01 00 00       	call   0x41c29b
41c159:	e8 43 43 07 00       	call   0x4904a1
41c15e:	c2 08 00             	ret    $0x8
41c161:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41c164:	6a 00                	push   $0x0
41c166:	6a 01                	push   $0x1
41c168:	e8 4c 01 00 00       	call   0x41c2b9
41c16d:	6a 00                	push   $0x0
41c16f:	6a 00                	push   $0x0
41c171:	e8 25 43 07 00       	call   0x49049b
41c176:	cc                   	int3
41c177:	8b ff                	mov    %edi,%edi
41c179:	55                   	push   %ebp
41c17a:	8b ec                	mov    %esp,%ebp
41c17c:	56                   	push   %esi
41c17d:	8b 75 08             	mov    0x8(%ebp),%esi
41c180:	57                   	push   %edi
41c181:	8b f9                	mov    %ecx,%edi
41c183:	83 fe fe             	cmp    $0xfffffffe,%esi
41c186:	76 05                	jbe    0x41c18d
41c188:	e8 c5 18 07 00       	call   0x48da52
41c18d:	8b 47 18             	mov    0x18(%edi),%eax
41c190:	3b c6                	cmp    %esi,%eax
41c192:	73 0d                	jae    0x41c1a1
41c194:	ff 77 14             	push   0x14(%edi)
41c197:	8b cf                	mov    %edi,%ecx
41c199:	56                   	push   %esi
41c19a:	e8 f4 fe ff ff       	call   0x41c093
41c19f:	eb 34                	jmp    0x41c1d5
41c1a1:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41c1a5:	74 1a                	je     0x41c1c1
41c1a7:	83 fe 10             	cmp    $0x10,%esi
41c1aa:	73 15                	jae    0x41c1c1
41c1ac:	8b 47 14             	mov    0x14(%edi),%eax
41c1af:	3b f0                	cmp    %eax,%esi
41c1b1:	73 02                	jae    0x41c1b5
41c1b3:	8b c6                	mov    %esi,%eax
41c1b5:	50                   	push   %eax
41c1b6:	6a 01                	push   $0x1
41c1b8:	8b cf                	mov    %edi,%ecx
41c1ba:	e8 fa 00 00 00       	call   0x41c2b9
41c1bf:	eb 14                	jmp    0x41c1d5
41c1c1:	85 f6                	test   %esi,%esi
41c1c3:	75 12                	jne    0x41c1d7
41c1c5:	21 77 14             	and    %esi,0x14(%edi)
41c1c8:	83 c7 04             	add    $0x4,%edi
41c1cb:	83 f8 10             	cmp    $0x10,%eax
41c1ce:	72 02                	jb     0x41c1d2
41c1d0:	8b 3f                	mov    (%edi),%edi
41c1d2:	c6 07 00             	movb   $0x0,(%edi)
41c1d5:	85 f6                	test   %esi,%esi
41c1d7:	5f                   	pop    %edi
41c1d8:	0f 95 c0             	setne  %al
41c1db:	5e                   	pop    %esi
41c1dc:	5d                   	pop    %ebp
41c1dd:	c2 08 00             	ret    $0x8
41c1e0:	8b ff                	mov    %edi,%edi
41c1e2:	55                   	push   %ebp
41c1e3:	8b ec                	mov    %esp,%ebp
41c1e5:	8b 45 0c             	mov    0xc(%ebp),%eax
41c1e8:	53                   	push   %ebx
41c1e9:	8b 5d 08             	mov    0x8(%ebp),%ebx
41c1ec:	56                   	push   %esi
41c1ed:	57                   	push   %edi
41c1ee:	8b f9                	mov    %ecx,%edi
41c1f0:	8b 73 14             	mov    0x14(%ebx),%esi
41c1f3:	3b f0                	cmp    %eax,%esi
41c1f5:	73 0b                	jae    0x41c202
41c1f7:	e8 8e 18 07 00       	call   0x48da8a
41c1fc:	8b 73 14             	mov    0x14(%ebx),%esi
41c1ff:	8b 45 0c             	mov    0xc(%ebp),%eax
41c202:	2b f0                	sub    %eax,%esi
41c204:	39 75 10             	cmp    %esi,0x10(%ebp)
41c207:	73 03                	jae    0x41c20c
41c209:	8b 75 10             	mov    0x10(%ebp),%esi
41c20c:	8b cf                	mov    %edi,%ecx
41c20e:	3b fb                	cmp    %ebx,%edi
41c210:	75 19                	jne    0x41c22b
41c212:	6a ff                	push   $0xffffffff
41c214:	03 c6                	add    %esi,%eax
41c216:	50                   	push   %eax
41c217:	e8 be fd ff ff       	call   0x41bfda
41c21c:	8b 45 0c             	mov    0xc(%ebp),%eax
41c21f:	8b cf                	mov    %edi,%ecx
41c221:	50                   	push   %eax
41c222:	6a 00                	push   $0x0
41c224:	e8 b1 fd ff ff       	call   0x41bfda
41c229:	eb 3e                	jmp    0x41c269
41c22b:	6a 00                	push   $0x0
41c22d:	56                   	push   %esi
41c22e:	e8 44 ff ff ff       	call   0x41c177
41c233:	84 c0                	test   %al,%al
41c235:	74 32                	je     0x41c269
41c237:	83 7b 18 10          	cmpl   $0x10,0x18(%ebx)
41c23b:	8d 4b 04             	lea    0x4(%ebx),%ecx
41c23e:	72 02                	jb     0x41c242
41c240:	8b 09                	mov    (%ecx),%ecx
41c242:	83 7f 18 10          	cmpl   $0x10,0x18(%edi)
41c246:	8d 57 04             	lea    0x4(%edi),%edx
41c249:	72 02                	jb     0x41c24d
41c24b:	8b 12                	mov    (%edx),%edx
41c24d:	8b 45 0c             	mov    0xc(%ebp),%eax
41c250:	56                   	push   %esi
41c251:	03 c1                	add    %ecx,%eax
41c253:	50                   	push   %eax
41c254:	ff 77 18             	push   0x18(%edi)
41c257:	52                   	push   %edx
41c258:	ff 15 f0 80 4a 00    	call   *0x4a80f0
41c25e:	83 c4 10             	add    $0x10,%esp
41c261:	8b cf                	mov    %edi,%ecx
41c263:	56                   	push   %esi
41c264:	e8 32 00 00 00       	call   0x41c29b
41c269:	8b c7                	mov    %edi,%eax
41c26b:	5f                   	pop    %edi
41c26c:	5e                   	pop    %esi
41c26d:	5b                   	pop    %ebx
41c26e:	5d                   	pop    %ebp
41c26f:	c2 0c 00             	ret    $0xc
41c272:	8b ff                	mov    %edi,%edi
41c274:	55                   	push   %ebp
41c275:	8b ec                	mov    %esp,%ebp
41c277:	56                   	push   %esi
41c278:	8b f1                	mov    %ecx,%esi
41c27a:	33 c0                	xor    %eax,%eax
41c27c:	6a ff                	push   $0xffffffff
41c27e:	50                   	push   %eax
41c27f:	ff 75 08             	push   0x8(%ebp)