41cf7f:	66 89 0a             	mov    %cx,(%edx)
41cf82:	5e                   	pop    %esi
41cf83:	5d                   	pop    %ebp
41cf84:	c3                   	ret
41cf85:	cc                   	int3
41cf86:	cc                   	int3
41cf87:	cc                   	int3
41cf88:	cc                   	int3
41cf89:	cc                   	int3
41cf8a:	cc                   	int3
41cf8b:	cc                   	int3
41cf8c:	cc                   	int3
41cf8d:	cc                   	int3
41cf8e:	cc                   	int3
41cf8f:	cc                   	int3
41cf90:	57                   	push   %edi
41cf91:	56                   	push   %esi
41cf92:	55                   	push   %ebp
41cf93:	33 ff                	xor    %edi,%edi
41cf95:	33 ed                	xor    %ebp,%ebp
41cf97:	8b 44 24 14          	mov    0x14(%esp),%eax
41cf9b:	0b c0                	or     %eax,%eax
41cf9d:	7d 15                	jge    0x41cfb4
41cf9f:	47                   	inc    %edi
41cfa0:	45                   	inc    %ebp
41cfa1:	8b 54 24 10          	mov    0x10(%esp),%edx
41cfa5:	f7 d8                	neg    %eax
41cfa7:	f7 da                	neg    %edx
41cfa9:	83 d8 00             	sbb    $0x0,%eax
41cfac:	89 44 24 14          	mov    %eax,0x14(%esp)
41cfb0:	89 54 24 10          	mov    %edx,0x10(%esp)
41cfb4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
41cfb8:	0b c0                	or     %eax,%eax
41cfba:	7d 14                	jge    0x41cfd0
41cfbc:	47                   	inc    %edi
41cfbd:	8b 54 24 18          	mov    0x18(%esp),%edx
41cfc1:	f7 d8                	neg    %eax
41cfc3:	f7 da                	neg    %edx
41cfc5:	83 d8 00             	sbb    $0x0,%eax
41cfc8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
41cfcc:	89 54 24 18          	mov    %edx,0x18(%esp)
41cfd0:	0b c0                	or     %eax,%eax
41cfd2:	75 28                	jne    0x41cffc
41cfd4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
41cfd8:	8b 44 24 14          	mov    0x14(%esp),%eax
41cfdc:	33 d2                	xor    %edx,%edx
41cfde:	f7 f1                	div    %ecx
41cfe0:	8b d8                	mov    %eax,%ebx
41cfe2:	8b 44 24 10          	mov    0x10(%esp),%eax
41cfe6:	f7 f1                	div    %ecx
41cfe8:	8b f0                	mov    %eax,%esi
41cfea:	8b c3                	mov    %ebx,%eax
41cfec:	f7 64 24 18          	mull   0x18(%esp)
41cff0:	8b c8                	mov    %eax,%ecx
41cff2:	8b c6                	mov    %esi,%eax
41cff4:	f7 64 24 18          	mull   0x18(%esp)
41cff8:	03 d1                	add    %ecx,%edx
41cffa:	eb 47                	jmp    0x41d043
41cffc:	8b d8                	mov    %eax,%ebx
41cffe:	8b 4c 24 18          	mov    0x18(%esp),%ecx
41d002:	8b 54 24 14          	mov    0x14(%esp),%edx
41d006:	8b 44 24 10          	mov    0x10(%esp),%eax
41d00a:	d1 eb                	shr    $1,%ebx
41d00c:	d1 d9                	rcr    $1,%ecx
41d00e:	d1 ea                	shr    $1,%edx
41d010:	d1 d8                	rcr    $1,%eax
41d012:	0b db                	or     %ebx,%ebx
41d014:	75 f4                	jne    0x41d00a
41d016:	f7 f1                	div    %ecx
41d018:	8b f0                	mov    %eax,%esi
41d01a:	f7 64 24 1c          	mull   0x1c(%esp)
41d01e:	8b c8                	mov    %eax,%ecx
41d020:	8b 44 24 18          	mov    0x18(%esp),%eax
41d024:	f7 e6                	mul    %esi
41d026:	03 d1                	add    %ecx,%edx
41d028:	72 0e                	jb     0x41d038
41d02a:	3b 54 24 14          	cmp    0x14(%esp),%edx
41d02e:	77 08                	ja     0x41d038
41d030:	72 0f                	jb     0x41d041
41d032:	3b 44 24 10          	cmp    0x10(%esp),%eax
41d036:	76 09                	jbe    0x41d041
41d038:	4e                   	dec    %esi
41d039:	2b 44 24 18          	sub    0x18(%esp),%eax
41d03d:	1b 54 24 1c          	sbb    0x1c(%esp),%edx
41d041:	33 db                	xor    %ebx,%ebx
41d043:	2b 44 24 10          	sub    0x10(%esp),%eax
41d047:	1b 54 24 14          	sbb    0x14(%esp),%edx
41d04b:	4d                   	dec    %ebp
41d04c:	79 07                	jns    0x41d055
41d04e:	f7 da                	neg    %edx
41d050:	f7 d8                	neg    %eax
41d052:	83 da 00             	sbb    $0x0,%edx
41d055:	8b ca                	mov    %edx,%ecx
41d057:	8b d3                	mov    %ebx,%edx
41d059:	8b d9                	mov    %ecx,%ebx
41d05b:	8b c8                	mov    %eax,%ecx
41d05d:	8b c6                	mov    %esi,%eax
41d05f:	4f                   	dec    %edi
41d060:	75 07                	jne    0x41d069
41d062:	f7 da                	neg    %edx
41d064:	f7 d8                	neg    %eax
41d066:	83 da 00             	sbb    $0x0,%edx
41d069:	5d                   	pop    %ebp
41d06a:	5e                   	pop    %esi
41d06b:	5f                   	pop    %edi
41d06c:	c2 10 00             	ret    $0x10
41d06f:	cc                   	int3
41d070:	53                   	push   %ebx
41d071:	56                   	push   %esi
41d072:	8b 44 24 18          	mov    0x18(%esp),%eax
41d076:	0b c0                	or     %eax,%eax
41d078:	75 18                	jne    0x41d092
41d07a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41d07e:	8b 44 24 10          	mov    0x10(%esp),%eax
41d082:	33 d2                	xor    %edx,%edx
41d084:	f7 f1                	div    %ecx
41d086:	8b d8                	mov    %eax,%ebx
41d088:	8b 44 24 0c          	mov    0xc(%esp),%eax
41d08c:	f7 f1                	div    %ecx
41d08e:	8b d3                	mov    %ebx,%edx
41d090:	eb 41                	jmp    0x41d0d3
41d092:	8b c8                	mov    %eax,%ecx
41d094:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41d098:	8b 54 24 10          	mov    0x10(%esp),%edx
41d09c:	8b 44 24 0c          	mov    0xc(%esp),%eax
41d0a0:	d1 e9                	shr    $1,%ecx
41d0a2:	d1 db                	rcr    $1,%ebx
41d0a4:	d1 ea                	shr    $1,%edx
41d0a6:	d1 d8                	rcr    $1,%eax
41d0a8:	0b c9                	or     %ecx,%ecx
41d0aa:	75 f4                	jne    0x41d0a0
41d0ac:	f7 f3                	div    %ebx
41d0ae:	8b f0                	mov    %eax,%esi
41d0b0:	f7 64 24 18          	mull   0x18(%esp)
41d0b4:	8b c8                	mov    %eax,%ecx
41d0b6:	8b 44 24 14          	mov    0x14(%esp),%eax
41d0ba:	f7 e6                	mul    %esi
41d0bc:	03 d1                	add    %ecx,%edx
41d0be:	72 0e                	jb     0x41d0ce
41d0c0:	3b 54 24 10          	cmp    0x10(%esp),%edx
41d0c4:	77 08                	ja     0x41d0ce
41d0c6:	72 07                	jb     0x41d0cf
41d0c8:	3b 44 24 0c          	cmp    0xc(%esp),%eax
41d0cc:	76 01                	jbe    0x41d0cf
41d0ce:	4e                   	dec    %esi
41d0cf:	33 d2                	xor    %edx,%edx
41d0d1:	8b c6                	mov    %esi,%eax
41d0d3:	5e                   	pop    %esi
41d0d4:	5b                   	pop    %ebx
41d0d5:	c2 10 00             	ret    $0x10
41d0d8:	8b ff                	mov    %edi,%edi
41d0da:	55                   	push   %ebp
41d0db:	8b ec                	mov    %esp,%ebp
41d0dd:	b8 ff ff 00 00       	mov    $0xffff,%eax
41d0e2:	8b c8                	mov    %eax,%ecx
41d0e4:	83 ec 14             	sub    $0x14,%esp
41d0e7:	66 39 4d 08          	cmp    %cx,0x8(%ebp)
41d0eb:	0f 84 9a 00 00 00    	je     0x41d18b
41d0f1:	53                   	push   %ebx
41d0f2:	ff 75 0c             	push   0xc(%ebp)
41d0f5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41d0f8:	e8 eb f9 ff ff       	call   0x41cae8
41d0fd:	8b 45 ec             	mov    -0x14(%ebp),%eax
41d100:	8b 48 14             	mov    0x14(%eax),%ecx
41d103:	33 db                	xor    %ebx,%ebx
41d105:	3b cb                	cmp    %ebx,%ecx
41d107:	75 14                	jne    0x41d11d
41d109:	8b 45 08             	mov    0x8(%ebp),%eax
41d10c:	8d 48 9f             	lea    -0x61(%eax),%ecx
41d10f:	66 83 f9 19          	cmp    $0x19,%cx
41d113:	77 03                	ja     0x41d118
41d115:	83 c0 e0             	add    $0xffffffe0,%eax
41d118:	0f b7 c0             	movzwl %ax,%eax
41d11b:	eb 61                	jmp    0x41d17e
41d11d:	ba 00 01 00 00       	mov    $0x100,%edx
41d122:	66 39 55 08          	cmp    %dx,0x8(%ebp)
41d126:	73 29                	jae    0x41d151
41d128:	8d 45 ec             	lea    -0x14(%ebp),%eax
41d12b:	50                   	push   %eax
41d12c:	6a 02                	push   $0x2
41d12e:	ff 75 08             	push   0x8(%ebp)
41d131:	e8 9d 52 00 00       	call   0x4223d3
41d136:	83 c4 0c             	add    $0xc,%esp
41d139:	85 c0                	test   %eax,%eax
41d13b:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
41d13f:	74 3d                	je     0x41d17e
41d141:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41d144:	8b 89 d0 00 00 00    	mov    0xd0(%ecx),%ecx
41d14a:	66 0f b6 04 01       	movzbw (%ecx,%eax,1),%ax
41d14f:	eb c7                	jmp    0x41d118
41d151:	ff 70 04             	push   0x4(%eax)
41d154:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d157:	6a 01                	push   $0x1
41d159:	50                   	push   %eax
41d15a:	6a 01                	push   $0x1
41d15c:	8d 45 08             	lea    0x8(%ebp),%eax
41d15f:	50                   	push   %eax
41d160:	68 00 02 00 00       	push   $0x200
41d165:	51                   	push   %ecx
41d166:	8d 45 ec             	lea    -0x14(%ebp),%eax
41d169:	50                   	push   %eax
41d16a:	e8 0d 52 00 00       	call   0x42237c
41d16f:	83 c4 20             	add    $0x20,%esp
41d172:	85 c0                	test   %eax,%eax
41d174:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
41d178:	74 04                	je     0x41d17e
41d17a:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
41d17e:	38 5d f8             	cmp    %bl,-0x8(%ebp)
41d181:	74 07                	je     0x41d18a
41d183:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41d186:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
41d18a:	5b                   	pop    %ebx
41d18b:	c9                   	leave
41d18c:	c3                   	ret
41d18d:	8b ff                	mov    %edi,%edi
41d18f:	55                   	push   %ebp
41d190:	8b ec                	mov    %esp,%ebp
41d192:	6a 00                	push   $0x0
41d194:	ff 75 08             	push   0x8(%ebp)
41d197:	e8 3c ff ff ff       	call   0x41d0d8
41d19c:	59                   	pop    %ecx
41d19d:	59                   	pop    %ecx
41d19e:	5d                   	pop    %ebp
41d19f:	c3                   	ret
41d1a0:	8b ff                	mov    %edi,%edi
41d1a2:	55                   	push   %ebp
41d1a3:	8b ec                	mov    %esp,%ebp
41d1a5:	53                   	push   %ebx
41d1a6:	8b 5d 08             	mov    0x8(%ebp),%ebx
41d1a9:	56                   	push   %esi
41d1aa:	57                   	push   %edi
41d1ab:	8b f9                	mov    %ecx,%edi
41d1ad:	c7 07 c0 b1 42 00    	movl   $0x42b1c0,(%edi)
41d1b3:	8b 03                	mov    (%ebx),%eax
41d1b5:	85 c0                	test   %eax,%eax
41d1b7:	74 26                	je     0x41d1df
41d1b9:	50                   	push   %eax
41d1ba:	e8 81 d2 ff ff       	call   0x41a440
41d1bf:	8b f0                	mov    %eax,%esi
41d1c1:	46                   	inc    %esi
41d1c2:	56                   	push   %esi
41d1c3:	e8 96 f7 ff ff       	call   0x41c95e
41d1c8:	59                   	pop    %ecx
41d1c9:	59                   	pop    %ecx
41d1ca:	89 47 04             	mov    %eax,0x4(%edi)
41d1cd:	85 c0                	test   %eax,%eax
41d1cf:	74 12                	je     0x41d1e3
41d1d1:	ff 33                	push   (%ebx)
41d1d3:	56                   	push   %esi
41d1d4:	50                   	push   %eax
41d1d5:	e8 83 52 00 00       	call   0x42245d
41d1da:	83 c4 0c             	add    $0xc,%esp
41d1dd:	eb 04                	jmp    0x41d1e3
41d1df:	83 67 04 00          	andl   $0x0,0x4(%edi)
41d1e3:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
41d1ea:	8b c7                	mov    %edi,%eax
41d1ec:	5f                   	pop    %edi
41d1ed:	5e                   	pop    %esi
41d1ee:	5b                   	pop    %ebx
41d1ef:	5d                   	pop    %ebp
41d1f0:	c2 04 00             	ret    $0x4
41d1f3:	8b ff                	mov    %edi,%edi
41d1f5:	55                   	push   %ebp
41d1f6:	8b ec                	mov    %esp,%ebp
41d1f8:	8b c1                	mov    %ecx,%eax
41d1fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1fd:	c7 00 c0 b1 42 00    	movl   $0x42b1c0,(%eax)
41d203:	8b 09                	mov    (%ecx),%ecx
41d205:	83 60 08 00          	andl   $0x0,0x8(%eax)
41d209:	89 48 04             	mov    %ecx,0x4(%eax)
41d20c:	5d                   	pop    %ebp
41d20d:	c2 08 00             	ret    $0x8
41d210:	8b ff                	mov    %edi,%edi
41d212:	55                   	push   %ebp
41d213:	8b ec                	mov    %esp,%ebp
41d215:	53                   	push   %ebx
41d216:	8b 5d 08             	mov    0x8(%ebp),%ebx
41d219:	56                   	push   %esi
41d21a:	8b f1                	mov    %ecx,%esi
41d21c:	c7 06 c0 b1 42 00    	movl   $0x42b1c0,(%esi)
41d222:	8b 43 08             	mov    0x8(%ebx),%eax
41d225:	89 46 08             	mov    %eax,0x8(%esi)
41d228:	85 c0                	test   %eax,%eax
41d22a:	8b 43 04             	mov    0x4(%ebx),%eax
41d22d:	57                   	push   %edi
41d22e:	74 31                	je     0x41d261
41d230:	85 c0                	test   %eax,%eax
41d232:	74 27                	je     0x41d25b
41d234:	50                   	push   %eax
41d235:	e8 06 d2 ff ff       	call   0x41a440
41d23a:	8b f8                	mov    %eax,%edi
41d23c:	47                   	inc    %edi
41d23d:	57                   	push   %edi
41d23e:	e8 1b f7 ff ff       	call   0x41c95e
41d243:	59                   	pop    %ecx
41d244:	59                   	pop    %ecx
41d245:	89 46 04             	mov    %eax,0x4(%esi)
41d248:	85 c0                	test   %eax,%eax
41d24a:	74 18                	je     0x41d264
41d24c:	ff 73 04             	push   0x4(%ebx)
41d24f:	57                   	push   %edi
41d250:	50                   	push   %eax
41d251:	e8 07 52 00 00       	call   0x42245d
41d256:	83 c4 0c             	add    $0xc,%esp
41d259:	eb 09                	jmp    0x41d264
41d25b:	83 66 04 00          	andl   $0x0,0x4(%esi)
41d25f:	eb 03                	jmp    0x41d264
41d261:	89 46 04             	mov    %eax,0x4(%esi)
41d264:	5f                   	pop    %edi
41d265:	8b c6                	mov    %esi,%eax
41d267:	5e                   	pop    %esi
41d268:	5b                   	pop    %ebx
41d269:	5d                   	pop    %ebp
41d26a:	c2 04 00             	ret    $0x4
41d26d:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
41d271:	c7 01 c0 b1 42 00    	movl   $0x42b1c0,(%ecx)
41d277:	74 09                	je     0x41d282
41d279:	ff 71 04             	push   0x4(%ecx)
41d27c:	e8 61 cc ff ff       	call   0x419ee2
41d281:	59                   	pop    %ecx
41d282:	c3                   	ret
41d283:	8b 41 04             	mov    0x4(%ecx),%eax
41d286:	85 c0                	test   %eax,%eax
41d288:	75 05                	jne    0x41d28f
41d28a:	b8 c8 b1 42 00       	mov    $0x42b1c8,%eax
41d28f:	c3                   	ret
41d290:	8b ff                	mov    %edi,%edi
41d292:	55                   	push   %ebp
41d293:	8b ec                	mov    %esp,%ebp
41d295:	56                   	push   %esi
41d296:	8b f1                	mov    %ecx,%esi
41d298:	e8 d0 ff ff ff       	call   0x41d26d
41d29d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41d2a1:	74 07                	je     0x41d2aa
41d2a3:	56                   	push   %esi
41d2a4:	e8 2e cc ff ff       	call   0x419ed7
41d2a9:	59                   	pop    %ecx
41d2aa:	8b c6                	mov    %esi,%eax
41d2ac:	5e                   	pop    %esi
41d2ad:	5d                   	pop    %ebp
41d2ae:	c2 04 00             	ret    $0x4
41d2b1:	cc                   	int3
41d2b2:	cc                   	int3
41d2b3:	cc                   	int3
41d2b4:	cc                   	int3
41d2b5:	cc                   	int3
41d2b6:	cc                   	int3
41d2b7:	cc                   	int3
41d2b8:	cc                   	int3
41d2b9:	cc                   	int3