46d082:	cc                   	int3
46d083:	cc                   	int3
46d084:	cc                   	int3
46d085:	cc                   	int3
46d086:	cc                   	int3
46d087:	cc                   	int3
46d088:	cc                   	int3
46d089:	cc                   	int3
46d08a:	cc                   	int3
46d08b:	cc                   	int3
46d08c:	cc                   	int3
46d08d:	cc                   	int3
46d08e:	cc                   	int3
46d08f:	cc                   	int3
46d090:	8b ff                	mov    %edi,%edi
46d092:	55                   	push   %ebp
46d093:	8b ec                	mov    %esp,%ebp
46d095:	83 ec 10             	sub    $0x10,%esp
46d098:	56                   	push   %esi
46d099:	8b f1                	mov    %ecx,%esi
46d09b:	80 be 84 00 00 00 00 	cmpb   $0x0,0x84(%esi)
46d0a2:	75 32                	jne    0x46d0d6
46d0a4:	8b 46 20             	mov    0x20(%esi),%eax
46d0a7:	89 45 f8             	mov    %eax,-0x8(%ebp)
46d0aa:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d0ad:	50                   	push   %eax
46d0ae:	c6 86 84 00 00 00 01 	movb   $0x1,0x84(%esi)
46d0b5:	c7 45 f0 10 00 00 00 	movl   $0x10,-0x10(%ebp)
46d0bc:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
46d0c3:	ff 15 64 7d 4a 00    	call   *0x4a7d64
46d0c9:	6a 00                	push   $0x0
46d0cb:	6a 00                	push   $0x0
46d0cd:	ff 76 20             	push   0x20(%esi)
46d0d0:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
46d0d6:	8b ce                	mov    %esi,%ecx
46d0d8:	ff 15 1c 77 4a 00    	call   *0x4a771c
46d0de:	5e                   	pop    %esi
46d0df:	c9                   	leave
46d0e0:	c2 0c 00             	ret    $0xc
46d0e3:	cc                   	int3
46d0e4:	cc                   	int3
46d0e5:	cc                   	int3
46d0e6:	cc                   	int3
46d0e7:	cc                   	int3
46d0e8:	cc                   	int3
46d0e9:	cc                   	int3
46d0ea:	cc                   	int3
46d0eb:	cc                   	int3
46d0ec:	cc                   	int3
46d0ed:	cc                   	int3
46d0ee:	cc                   	int3
46d0ef:	cc                   	int3
46d0f0:	33 c0                	xor    %eax,%eax
46d0f2:	50                   	push   %eax
46d0f3:	50                   	push   %eax
46d0f4:	ff 71 20             	push   0x20(%ecx)
46d0f7:	88 81 84 00 00 00    	mov    %al,0x84(%ecx)
46d0fd:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
46d103:	c2 08 00             	ret    $0x8
46d106:	cc                   	int3
46d107:	cc                   	int3
46d108:	cc                   	int3
46d109:	cc                   	int3
46d10a:	cc                   	int3
46d10b:	cc                   	int3
46d10c:	cc                   	int3
46d10d:	cc                   	int3
46d10e:	cc                   	int3
46d10f:	cc                   	int3
46d110:	8b ff                	mov    %edi,%edi
46d112:	56                   	push   %esi
46d113:	57                   	push   %edi
46d114:	8b f9                	mov    %ecx,%edi
46d116:	ff 15 38 77 4a 00    	call   *0x4a7738
46d11c:	8b 17                	mov    (%edi),%edx
46d11e:	ff 70 0c             	push   0xc(%eax)
46d121:	8b b2 a8 00 00 00    	mov    0xa8(%edx),%esi
46d127:	8b ce                	mov    %esi,%ecx
46d129:	ff 70 08             	push   0x8(%eax)
46d12c:	68 01 02 00 00       	push   $0x201
46d131:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d137:	8b cf                	mov    %edi,%ecx
46d139:	ff d6                	call   *%esi
46d13b:	5f                   	pop    %edi
46d13c:	5e                   	pop    %esi
46d13d:	c2 0c 00             	ret    $0xc
46d140:	6a 1c                	push   $0x1c
46d142:	b8 90 56 49 00       	mov    $0x495690,%eax
46d147:	e8 ba 33 02 00       	call   0x490506
46d14c:	89 55 d8             	mov    %edx,-0x28(%ebp)
46d14f:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
46d152:	8d 75 08             	lea    0x8(%ebp),%esi
46d155:	8d 7d e0             	lea    -0x20(%ebp),%edi
46d158:	33 c0                	xor    %eax,%eax
46d15a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d15b:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d15e:	89 03                	mov    %eax,(%ebx)
46d160:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d161:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d162:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d163:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d166:	8d 55 dc             	lea    -0x24(%ebp),%edx
46d169:	8b 01                	mov    (%ecx),%eax
46d16b:	52                   	push   %edx
46d16c:	51                   	push   %ecx
46d16d:	8b 70 28             	mov    0x28(%eax),%esi
46d170:	8b ce                	mov    %esi,%ecx
46d172:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d178:	ff d6                	call   *%esi
46d17a:	8b f8                	mov    %eax,%edi
46d17c:	85 ff                	test   %edi,%edi
46d17e:	78 45                	js     0x46d1c5
46d180:	d9 ee                	fldz
46d182:	33 c9                	xor    %ecx,%ecx
46d184:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d187:	51                   	push   %ecx
46d188:	51                   	push   %ecx
46d189:	51                   	push   %ecx
46d18a:	8b 30                	mov    (%eax),%esi
46d18c:	dd 1c 24             	fstpl  (%esp)
46d18f:	51                   	push   %ecx
46d190:	51                   	push   %ecx
46d191:	8d 4d e0             	lea    -0x20(%ebp),%ecx
46d194:	51                   	push   %ecx
46d195:	ff 75 d8             	push   -0x28(%ebp)
46d198:	8b 4e 20             	mov    0x20(%esi),%ecx
46d19b:	50                   	push   %eax
46d19c:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d1a2:	ff 56 20             	call   *0x20(%esi)
46d1a5:	8b f8                	mov    %eax,%edi
46d1a7:	85 ff                	test   %edi,%edi
46d1a9:	78 1a                	js     0x46d1c5
46d1ab:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d1ae:	53                   	push   %ebx
46d1af:	68 94 33 41 00       	push   $0x413394
46d1b4:	50                   	push   %eax
46d1b5:	8b 08                	mov    (%eax),%ecx
46d1b7:	8b 31                	mov    (%ecx),%esi
46d1b9:	8b ce                	mov    %esi,%ecx
46d1bb:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d1c1:	ff d6                	call   *%esi
46d1c3:	8b f8                	mov    %eax,%edi
46d1c5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46d1c9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46d1cc:	85 c9                	test   %ecx,%ecx
46d1ce:	74 14                	je     0x46d1e4
46d1d0:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
46d1d4:	8b 01                	mov    (%ecx),%eax
46d1d6:	51                   	push   %ecx
46d1d7:	8b 70 08             	mov    0x8(%eax),%esi
46d1da:	8b ce                	mov    %esi,%ecx
46d1dc:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d1e2:	ff d6                	call   *%esi
46d1e4:	8b c7                	mov    %edi,%eax
46d1e6:	e8 ca 32 02 00       	call   0x4904b5
46d1eb:	c2 18 00             	ret    $0x18
46d1ee:	8b ff                	mov    %edi,%edi
46d1f0:	55                   	push   %ebp
46d1f1:	8b ec                	mov    %esp,%ebp
46d1f3:	83 ec 50             	sub    $0x50,%esp
46d1f6:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
46d1fb:	33 c5                	xor    %ebp,%eax
46d1fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d200:	53                   	push   %ebx
46d201:	8b c2                	mov    %edx,%eax
46d203:	8b d9                	mov    %ecx,%ebx
46d205:	56                   	push   %esi
46d206:	89 45 b0             	mov    %eax,-0x50(%ebp)
46d209:	83 20 00             	andl   $0x0,(%eax)
46d20c:	8d 45 b8             	lea    -0x48(%ebp),%eax
46d20f:	8b 33                	mov    (%ebx),%esi
46d211:	50                   	push   %eax
46d212:	8d 45 bc             	lea    -0x44(%ebp),%eax
46d215:	50                   	push   %eax
46d216:	8b 4e 0c             	mov    0xc(%esi),%ecx
46d219:	53                   	push   %ebx
46d21a:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d220:	ff 56 0c             	call   *0xc(%esi)
46d223:	8b f0                	mov    %eax,%esi
46d225:	85 f6                	test   %esi,%esi
46d227:	0f 88 ab 00 00 00    	js     0x46d2d8
46d22d:	57                   	push   %edi
46d22e:	6a 0a                	push   $0xa
46d230:	59                   	pop    %ecx
46d231:	33 c0                	xor    %eax,%eax
46d233:	8d 7d c4             	lea    -0x3c(%ebp),%edi
46d236:	f3 ab                	rep stos %eax,%es:(%edi)
46d238:	8b 45 bc             	mov    -0x44(%ebp),%eax
46d23b:	33 c9                	xor    %ecx,%ecx
46d23d:	89 45 c4             	mov    %eax,-0x3c(%ebp)
46d240:	8b 45 b8             	mov    -0x48(%ebp),%eax
46d243:	f7 d8                	neg    %eax
46d245:	c7 45 c0 28 00 00 00 	movl   $0x28,-0x40(%ebp)
46d24c:	89 45 c8             	mov    %eax,-0x38(%ebp)
46d24f:	33 c0                	xor    %eax,%eax
46d251:	6a 20                	push   $0x20
46d253:	40                   	inc    %eax
46d254:	89 4d d0             	mov    %ecx,-0x30(%ebp)
46d257:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
46d25b:	58                   	pop    %eax
46d25c:	51                   	push   %ecx
46d25d:	51                   	push   %ecx
46d25e:	66 89 45 ce          	mov    %ax,-0x32(%ebp)
46d262:	8d 45 b4             	lea    -0x4c(%ebp),%eax
46d265:	50                   	push   %eax
46d266:	51                   	push   %ecx
46d267:	8d 45 c0             	lea    -0x40(%ebp),%eax
46d26a:	50                   	push   %eax
46d26b:	51                   	push   %ecx
46d26c:	ff 15 f0 70 4a 00    	call   *0x4a70f0
46d272:	8b f8                	mov    %eax,%edi
46d274:	8b f7                	mov    %edi,%esi
46d276:	f7 de                	neg    %esi
46d278:	1b f6                	sbb    %esi,%esi
46d27a:	81 e6 f2 ff f8 7f    	and    $0x7ff8fff2,%esi
46d280:	81 c6 0e 00 07 80    	add    $0x8007000e,%esi
46d286:	85 ff                	test   %edi,%edi
46d288:	74 4d                	je     0x46d2d7
46d28a:	8b 55 bc             	mov    -0x44(%ebp),%edx
46d28d:	8b c2                	mov    %edx,%eax
46d28f:	8b 4d b8             	mov    -0x48(%ebp),%ecx
46d292:	ff 75 b4             	push   -0x4c(%ebp)
46d295:	8b 33                	mov    (%ebx),%esi
46d297:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
46d29b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
46d29f:	0f af c1             	imul   %ecx,%eax
46d2a2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46d2a5:	8b 4e 1c             	mov    0x1c(%esi),%ecx
46d2a8:	89 55 f4             	mov    %edx,-0xc(%ebp)
46d2ab:	c1 e0 02             	shl    $0x2,%eax
46d2ae:	50                   	push   %eax
46d2af:	8b c2                	mov    %edx,%eax
46d2b1:	c1 e0 02             	shl    $0x2,%eax
46d2b4:	50                   	push   %eax
46d2b5:	8d 45 ec             	lea    -0x14(%ebp),%eax
46d2b8:	50                   	push   %eax
46d2b9:	53                   	push   %ebx
46d2ba:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d2c0:	ff 56 1c             	call   *0x1c(%esi)
46d2c3:	8b f0                	mov    %eax,%esi
46d2c5:	85 f6                	test   %esi,%esi
46d2c7:	78 07                	js     0x46d2d0
46d2c9:	8b 45 b0             	mov    -0x50(%ebp),%eax
46d2cc:	89 38                	mov    %edi,(%eax)
46d2ce:	eb 07                	jmp    0x46d2d7
46d2d0:	57                   	push   %edi
46d2d1:	ff 15 60 71 4a 00    	call   *0x4a7160
46d2d7:	5f                   	pop    %edi
46d2d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46d2db:	8b c6                	mov    %esi,%eax
46d2dd:	5e                   	pop    %esi
46d2de:	33 cd                	xor    %ebp,%ecx
46d2e0:	5b                   	pop    %ebx
46d2e1:	e8 1a 2c 02 00       	call   0x48ff00
46d2e6:	c9                   	leave
46d2e7:	c3                   	ret
46d2e8:	6a 0c                	push   $0xc
46d2ea:	b8 c5 56 49 00       	mov    $0x4956c5,%eax
46d2ef:	e8 df 31 02 00       	call   0x4904d3
46d2f4:	89 55 e8             	mov    %edx,-0x18(%ebp)
46d2f7:	8b 5d 08             	mov    0x8(%ebp),%ebx
46d2fa:	33 ff                	xor    %edi,%edi
46d2fc:	51                   	push   %ecx
46d2fd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46d300:	89 3b                	mov    %edi,(%ebx)
46d302:	e8 09 10 00 00       	call   0x46e310
46d307:	89 7d fc             	mov    %edi,-0x4(%ebp)
46d30a:	39 7d f0             	cmp    %edi,-0x10(%ebp)
46d30d:	75 23                	jne    0x46d332
46d30f:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d312:	50                   	push   %eax
46d313:	e8 54 f1 fb ff       	call   0x42c46c
46d318:	50                   	push   %eax
46d319:	68 b0 0b 41 00       	push   $0x410bb0
46d31e:	6a 01                	push   $0x1
46d320:	57                   	push   %edi
46d321:	68 dc fb 40 00       	push   $0x40fbdc
46d326:	ff 15 98 7e 4a 00    	call   *0x4a7e98
46d32c:	8b f0                	mov    %eax,%esi
46d32e:	85 f6                	test   %esi,%esi
46d330:	78 43                	js     0x46d375
46d332:	89 7d ec             	mov    %edi,-0x14(%ebp)
46d335:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46d338:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46d33c:	e8 ab 0f 00 00       	call   0x46e2ec
46d341:	8b 55 e8             	mov    -0x18(%ebp),%edx
46d344:	be 2c fb 40 00       	mov    $0x40fb2c,%esi
46d349:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46d34c:	50                   	push   %eax
46d34d:	83 ec 14             	sub    $0x14,%esp
46d350:	8b fc                	mov    %esp,%edi
46d352:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d353:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d354:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d355:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d356:	e8 e5 fd ff ff       	call   0x46d140
46d35b:	8b f0                	mov    %eax,%esi
46d35d:	85 f6                	test   %esi,%esi
46d35f:	78 0c                	js     0x46d36d
46d361:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46d364:	8b d3                	mov    %ebx,%edx
46d366:	e8 83 fe ff ff       	call   0x46d1ee
46d36b:	8b f0                	mov    %eax,%esi
46d36d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46d370:	e8 d6 be fa ff       	call   0x41924b
46d375:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46d378:	e8 ce be fa ff       	call   0x41924b
46d37d:	8b c6                	mov    %esi,%eax
46d37f:	e8 1d 31 02 00       	call   0x4904a1
46d384:	c2 04 00             	ret    $0x4
46d387:	6a 04                	push   $0x4
46d389:	b8 87 31 49 00       	mov    $0x493187,%eax
46d38e:	e8 40 31 02 00       	call   0x4904d3
46d393:	8b da                	mov    %edx,%ebx
46d395:	8b f1                	mov    %ecx,%esi
46d397:	33 c9                	xor    %ecx,%ecx
46d399:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46d39c:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d39f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46d3a2:	50                   	push   %eax
46d3a3:	6a 01                	push   $0x1
46d3a5:	51                   	push   %ecx
46d3a6:	ff 15 84 7e 4a 00    	call   *0x4a7e84
46d3ac:	8b f8                	mov    %eax,%edi
46d3ae:	85 ff                	test   %edi,%edi
46d3b0:	78 2d                	js     0x46d3df
46d3b2:	8b 06                	mov    (%esi),%eax
46d3b4:	ff 75 f0             	push   -0x10(%ebp)
46d3b7:	56                   	push   %esi
46d3b8:	8b 70 14             	mov    0x14(%eax),%esi
46d3bb:	8b ce                	mov    %esi,%ecx
46d3bd:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d3c3:	ff d6                	call   *%esi
46d3c5:	85 c0                	test   %eax,%eax
46d3c7:	79 0a                	jns    0x46d3d3
46d3c9:	33 d2                	xor    %edx,%edx
46d3cb:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46d3ce:	e8 cc c1 fb ff       	call   0x42959f
46d3d3:	8b 55 f0             	mov    -0x10(%ebp),%edx
46d3d6:	8b cb                	mov    %ebx,%ecx
46d3d8:	e8 28 00 00 00       	call   0x46d405
46d3dd:	8b f8                	mov    %eax,%edi
46d3df:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46d3e6:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d3e9:	85 c0                	test   %eax,%eax
46d3eb:	74 10                	je     0x46d3fd
46d3ed:	8b 08                	mov    (%eax),%ecx
46d3ef:	50                   	push   %eax
46d3f0:	8b 71 08             	mov    0x8(%ecx),%esi
46d3f3:	8b ce                	mov    %esi,%ecx