45c0e9:	5f                   	pop    %edi
45c0ea:	5e                   	pop    %esi
45c0eb:	8b c3                	mov    %ebx,%eax
45c0ed:	5b                   	pop    %ebx
45c0ee:	c3                   	ret
45c0ef:	8b 44 24 04          	mov    0x4(%esp),%eax
45c0f3:	3d ff ff 00 00       	cmp    $0xffff,%eax
45c0f8:	56                   	push   %esi
45c0f9:	57                   	push   %edi
45c0fa:	8b f9                	mov    %ecx,%edi
45c0fc:	76 0c                	jbe    0x45c10a
45c0fe:	ff 70 1c             	push   0x1c(%eax)
45c101:	ff 15 0c 08 4b 00    	call   *0x4b080c
45c107:	0f b7 c0             	movzwl %ax,%eax
45c10a:	6a ff                	push   $0xffffffff
45c10c:	50                   	push   %eax
45c10d:	8b cf                	mov    %edi,%ecx
45c10f:	e8 5e fc ff ff       	call   0x45bd72
45c114:	8b f0                	mov    %eax,%esi
45c116:	85 f6                	test   %esi,%esi
45c118:	7e 37                	jle    0x45c151
45c11a:	6a 01                	push   $0x1
45c11c:	81 c7 94 00 00 00    	add    $0x94,%edi
45c122:	56                   	push   %esi
45c123:	8b cf                	mov    %edi,%ecx
45c125:	e8 db 0d fe ff       	call   0x43cf05
45c12a:	8d 46 ff             	lea    -0x1(%esi),%eax
45c12d:	50                   	push   %eax
45c12e:	8b cf                	mov    %edi,%ecx
45c130:	e8 30 a1 fb ff       	call   0x416265
45c135:	83 38 00             	cmpl   $0x0,(%eax)
45c138:	75 17                	jne    0x45c151
45c13a:	56                   	push   %esi
45c13b:	8b cf                	mov    %edi,%ecx
45c13d:	e8 23 a1 fb ff       	call   0x416265
45c142:	83 38 00             	cmpl   $0x0,(%eax)
45c145:	75 0a                	jne    0x45c151
45c147:	6a 01                	push   $0x1
45c149:	56                   	push   %esi
45c14a:	8b cf                	mov    %edi,%ecx
45c14c:	e8 b4 0d fe ff       	call   0x43cf05
45c151:	5f                   	pop    %edi
45c152:	5e                   	pop    %esi
45c153:	c2 04 00             	ret    $0x4
45c156:	55                   	push   %ebp
45c157:	8b ec                	mov    %esp,%ebp
45c159:	53                   	push   %ebx
45c15a:	56                   	push   %esi
45c15b:	57                   	push   %edi
45c15c:	ff 75 0c             	push   0xc(%ebp)
45c15f:	8b f9                	mov    %ecx,%edi
45c161:	ff 75 08             	push   0x8(%ebp)
45c164:	e8 09 fc ff ff       	call   0x45bd72
45c169:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
45c16d:	8d 9f 94 00 00 00    	lea    0x94(%edi),%ebx
45c173:	8b f0                	mov    %eax,%esi
45c175:	8b cb                	mov    %ebx,%ecx
45c177:	75 66                	jne    0x45c1df
45c179:	56                   	push   %esi
45c17a:	e8 e6 a0 fb ff       	call   0x416265
45c17f:	89 45 10             	mov    %eax,0x10(%ebp)
45c182:	8b 45 08             	mov    0x8(%ebp),%eax
45c185:	ff 70 1c             	push   0x1c(%eax)
45c188:	ff 15 0c 08 4b 00    	call   *0x4b080c
45c18e:	8b 4d 10             	mov    0x10(%ebp),%ecx
45c191:	0f b7 c0             	movzwl %ax,%eax
45c194:	89 01                	mov    %eax,(%ecx)
45c196:	56                   	push   %esi
45c197:	8b cb                	mov    %ebx,%ecx
45c199:	e8 c7 a0 fb ff       	call   0x416265
45c19e:	56                   	push   %esi
45c19f:	ff 30                	push   (%eax)
45c1a1:	8b cf                	mov    %edi,%ecx
45c1a3:	e8 ca fb ff ff       	call   0x45bd72
45c1a8:	85 c0                	test   %eax,%eax
45c1aa:	7e 72                	jle    0x45c21e
45c1ac:	6a 01                	push   $0x1
45c1ae:	56                   	push   %esi
45c1af:	8b cb                	mov    %ebx,%ecx
45c1b1:	e8 4f 0d fe ff       	call   0x43cf05
45c1b6:	8d 46 ff             	lea    -0x1(%esi),%eax
45c1b9:	50                   	push   %eax
45c1ba:	8b cb                	mov    %ebx,%ecx
45c1bc:	e8 a4 a0 fb ff       	call   0x416265
45c1c1:	83 38 00             	cmpl   $0x0,(%eax)
45c1c4:	75 58                	jne    0x45c21e
45c1c6:	56                   	push   %esi
45c1c7:	8b cb                	mov    %ebx,%ecx
45c1c9:	e8 97 a0 fb ff       	call   0x416265
45c1ce:	83 38 00             	cmpl   $0x0,(%eax)
45c1d1:	75 4b                	jne    0x45c21e
45c1d3:	6a 01                	push   $0x1
45c1d5:	56                   	push   %esi
45c1d6:	8b cb                	mov    %ebx,%ecx
45c1d8:	e8 28 0d fe ff       	call   0x43cf05
45c1dd:	eb 3f                	jmp    0x45c21e
45c1df:	6a 01                	push   $0x1
45c1e1:	56                   	push   %esi
45c1e2:	e8 1e 0d fe ff       	call   0x43cf05
45c1e7:	8d 46 ff             	lea    -0x1(%esi),%eax
45c1ea:	50                   	push   %eax
45c1eb:	8b cb                	mov    %ebx,%ecx
45c1ed:	e8 73 a0 fb ff       	call   0x416265
45c1f2:	83 38 00             	cmpl   $0x0,(%eax)
45c1f5:	75 17                	jne    0x45c20e
45c1f7:	56                   	push   %esi
45c1f8:	8b cb                	mov    %ebx,%ecx
45c1fa:	e8 66 a0 fb ff       	call   0x416265
45c1ff:	83 38 00             	cmpl   $0x0,(%eax)
45c202:	75 0a                	jne    0x45c20e
45c204:	6a 01                	push   $0x1
45c206:	56                   	push   %esi
45c207:	8b cb                	mov    %ebx,%ecx
45c209:	e8 f7 0c fe ff       	call   0x43cf05
45c20e:	83 7d 10 ff          	cmpl   $0xffffffff,0x10(%ebp)
45c212:	74 0a                	je     0x45c21e
45c214:	ff 75 08             	push   0x8(%ebp)
45c217:	8b cf                	mov    %edi,%ecx
45c219:	e8 d1 fe ff ff       	call   0x45c0ef
45c21e:	8b 45 08             	mov    0x8(%ebp),%eax
45c221:	83 b8 8c 00 00 00 00 	cmpl   $0x0,0x8c(%eax)
45c228:	74 47                	je     0x45c271
45c22a:	8b cf                	mov    %edi,%ecx
45c22c:	e8 31 46 00 00       	call   0x460862
45c231:	83 bf 90 00 00 00 00 	cmpl   $0x0,0x90(%edi)
45c238:	8b f0                	mov    %eax,%esi
45c23a:	74 2e                	je     0x45c26a
45c23c:	8b 07                	mov    (%edi),%eax
45c23e:	8b cf                	mov    %edi,%ecx
45c240:	ff 90 68 01 00 00    	call   *0x168(%eax)
45c246:	85 c0                	test   %eax,%eax
45c248:	75 20                	jne    0x45c26a
45c24a:	8b cf                	mov    %edi,%ecx
45c24c:	e8 36 fe ff ff       	call   0x45c087
45c251:	85 c0                	test   %eax,%eax
45c253:	8b ce                	mov    %esi,%ecx
45c255:	75 0a                	jne    0x45c261
45c257:	8b 06                	mov    (%esi),%eax
45c259:	ff 50 60             	call   *0x60(%eax)
45c25c:	33 c0                	xor    %eax,%eax
45c25e:	40                   	inc    %eax
45c25f:	eb 12                	jmp    0x45c273
45c261:	6a 00                	push   $0x0
45c263:	e8 03 4b fe ff       	call   0x440d6b
45c268:	eb 07                	jmp    0x45c271
45c26a:	83 8e cc 00 00 00 0c 	orl    $0xc,0xcc(%esi)
45c271:	33 c0                	xor    %eax,%eax
45c273:	5f                   	pop    %edi
45c274:	5e                   	pop    %esi
45c275:	5b                   	pop    %ebx
45c276:	5d                   	pop    %ebp
45c277:	c2 0c 00             	ret    $0xc
45c27a:	55                   	push   %ebp
45c27b:	8b ec                	mov    %esp,%ebp
45c27d:	81 ec 80 00 00 00    	sub    $0x80,%esp
45c283:	53                   	push   %ebx
45c284:	56                   	push   %esi
45c285:	57                   	push   %edi
45c286:	ff 75 10             	push   0x10(%ebp)
45c289:	8d 45 e8             	lea    -0x18(%ebp),%eax
45c28c:	ff 75 0c             	push   0xc(%ebp)
45c28f:	8b d9                	mov    %ecx,%ebx
45c291:	50                   	push   %eax
45c292:	e8 88 dc ff ff       	call   0x459f1f
45c297:	8d b3 ac 00 00 00    	lea    0xac(%ebx),%esi
45c29d:	56                   	push   %esi
45c29e:	ff 15 20 06 4b 00    	call   *0x4b0620
45c2a4:	85 c0                	test   %eax,%eax
45c2a6:	75 26                	jne    0x45c2ce
45c2a8:	ff 75 10             	push   0x10(%ebp)
45c2ab:	8b 03                	mov    (%ebx),%eax
45c2ad:	8d 7d c0             	lea    -0x40(%ebp),%edi
45c2b0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c2b1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c2b2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c2b3:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45c2b6:	51                   	push   %ecx
45c2b7:	8b cb                	mov    %ebx,%ecx
45c2b9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c2ba:	ff 90 3c 01 00 00    	call   *0x13c(%eax)
45c2c0:	8b 45 c8             	mov    -0x38(%ebp),%eax
45c2c3:	8b 4d cc             	mov    -0x34(%ebp),%ecx
45c2c6:	2b 45 c0             	sub    -0x40(%ebp),%eax
45c2c9:	2b 4d c4             	sub    -0x3c(%ebp),%ecx
45c2cc:	eb 20                	jmp    0x45c2ee
45c2ce:	8b cb                	mov    %ebx,%ecx
45c2d0:	e8 77 94 fe ff       	call   0x44574c
45c2d5:	8d 4d b0             	lea    -0x50(%ebp),%ecx
45c2d8:	51                   	push   %ecx
45c2d9:	ff 70 1c             	push   0x1c(%eax)
45c2dc:	ff 15 8c 08 4b 00    	call   *0x4b088c
45c2e2:	8b 45 b8             	mov    -0x48(%ebp),%eax
45c2e5:	8b 4d bc             	mov    -0x44(%ebp),%ecx
45c2e8:	2b 45 b0             	sub    -0x50(%ebp),%eax
45c2eb:	2b 4d b4             	sub    -0x4c(%ebp),%ecx
45c2ee:	33 ff                	xor    %edi,%edi
45c2f0:	39 bb a8 00 00 00    	cmp    %edi,0xa8(%ebx)
45c2f6:	89 45 d8             	mov    %eax,-0x28(%ebp)
45c2f9:	89 4d dc             	mov    %ecx,-0x24(%ebp)
45c2fc:	74 05                	je     0x45c303
45c2fe:	89 7d 80             	mov    %edi,-0x80(%ebp)
45c301:	eb 0f                	jmp    0x45c312
45c303:	ff b3 9c 00 00 00    	push   0x9c(%ebx)
45c309:	ff 15 bc 06 4b 00    	call   *0x4b06bc
45c30f:	89 45 80             	mov    %eax,-0x80(%ebp)
45c312:	a1 e8 c3 4a 00       	mov    0x4ac3e8,%eax
45c317:	f7 d8                	neg    %eax
45c319:	89 45 e0             	mov    %eax,-0x20(%ebp)
45c31c:	a1 ec c3 4a 00       	mov    0x4ac3ec,%eax
45c321:	f7 d8                	neg    %eax
45c323:	39 bb 9c 00 00 00    	cmp    %edi,0x9c(%ebx)
45c329:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45c32c:	89 7d f4             	mov    %edi,-0xc(%ebp)
45c32f:	89 7d f8             	mov    %edi,-0x8(%ebp)
45c332:	89 7d fc             	mov    %edi,-0x4(%ebp)
45c335:	0f 8e 66 03 00 00    	jle    0x45c6a1
45c33b:	ff 75 fc             	push   -0x4(%ebp)
45c33e:	8b cb                	mov    %ebx,%ecx
45c340:	e8 6a fa ff ff       	call   0x45bdaf
45c345:	ff 75 fc             	push   -0x4(%ebp)
45c348:	8b f0                	mov    %eax,%esi
45c34a:	8d 8b 94 00 00 00    	lea    0x94(%ebx),%ecx
45c350:	89 75 f0             	mov    %esi,-0x10(%ebp)
45c353:	e8 0d 9f fb ff       	call   0x416265
45c358:	3b f7                	cmp    %edi,%esi
45c35a:	8b 00                	mov    (%eax),%eax
45c35c:	0f 84 c2 02 00 00    	je     0x45c624
45c362:	8b 06                	mov    (%esi),%eax
45c364:	8b ce                	mov    %esi,%ecx
45c366:	ff 90 50 01 00 00    	call   *0x150(%eax)
45c36c:	85 c0                	test   %eax,%eax
45c36e:	0f 84 4a 02 00 00    	je     0x45c5be
45c374:	8b 46 7c             	mov    0x7c(%esi),%eax
45c377:	a8 04                	test   $0x4,%al
45c379:	74 09                	je     0x45c384
45c37b:	a8 01                	test   $0x1,%al
45c37d:	74 05                	je     0x45c384
45c37f:	6a 06                	push   $0x6
45c381:	58                   	pop    %eax
45c382:	eb 0f                	jmp    0x45c393
45c384:	25 00 a0 00 00       	and    $0xa000,%eax
45c389:	f7 d8                	neg    %eax
45c38b:	1b c0                	sbb    %eax,%eax
45c38d:	83 e0 fa             	and    $0xfffffffa,%eax
45c390:	83 c0 10             	add    $0x10,%eax
45c393:	8b 16                	mov    (%esi),%edx
45c395:	50                   	push   %eax
45c396:	6a ff                	push   $0xffffffff
45c398:	8d 45 d0             	lea    -0x30(%ebp),%eax
45c39b:	50                   	push   %eax
45c39c:	8b ce                	mov    %esi,%ecx
45c39e:	ff 92 34 01 00 00    	call   *0x134(%edx)
45c3a4:	ff 75 d4             	push   -0x2c(%ebp)
45c3a7:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45c3aa:	ff 75 d0             	push   -0x30(%ebp)
45c3ad:	ff 75 e4             	push   -0x1c(%ebp)
45c3b0:	ff 75 e0             	push   -0x20(%ebp)
45c3b3:	e8 87 20 fb ff       	call   0x40e43f
45c3b8:	8d 45 b0             	lea    -0x50(%ebp),%eax
45c3bb:	50                   	push   %eax
45c3bc:	ff 76 1c             	push   0x1c(%esi)
45c3bf:	ff 15 40 07 4b 00    	call   *0x4b0740
45c3c5:	8d 45 b0             	lea    -0x50(%ebp),%eax
45c3c8:	50                   	push   %eax
45c3c9:	8b cb                	mov    %ebx,%ecx
45c3cb:	e8 4e 2c ff ff       	call   0x44f01e
45c3d0:	39 7d 10             	cmp    %edi,0x10(%ebp)
45c3d3:	0f 84 0b 01 00 00    	je     0x45c4e4
45c3d9:	8b 45 b0             	mov    -0x50(%ebp),%eax
45c3dc:	3b 45 c0             	cmp    -0x40(%ebp),%eax
45c3df:	7e 17                	jle    0x45c3f8
45c3e1:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c3e7:	75 0f                	jne    0x45c3f8
45c3e9:	2b 45 c0             	sub    -0x40(%ebp),%eax
45c3ec:	57                   	push   %edi
45c3ed:	50                   	push   %eax
45c3ee:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c3f1:	50                   	push   %eax
45c3f2:	ff 15 30 07 4b 00    	call   *0x4b0730
45c3f8:	8b 45 c8             	mov    -0x38(%ebp),%eax
45c3fb:	8b 4d d8             	mov    -0x28(%ebp),%ecx
45c3fe:	3b c1                	cmp    %ecx,%eax
45c400:	7e 2b                	jle    0x45c42d
45c402:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c408:	75 23                	jne    0x45c42d
45c40a:	2b 05 e8 c3 4a 00    	sub    0x4ac3e8,%eax
45c410:	2b 45 c0             	sub    -0x40(%ebp),%eax
45c413:	2b c8                	sub    %eax,%ecx
45c415:	8b 45 e0             	mov    -0x20(%ebp),%eax
45c418:	3b c8                	cmp    %eax,%ecx
45c41a:	7e 02                	jle    0x45c41e
45c41c:	8b c1                	mov    %ecx,%eax
45c41e:	2b 45 c0             	sub    -0x40(%ebp),%eax
45c421:	57                   	push   %edi
45c422:	50                   	push   %eax
45c423:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c426:	50                   	push   %eax
45c427:	ff 15 30 07 4b 00    	call   *0x4b0730
45c42d:	39 7d f8             	cmp    %edi,-0x8(%ebp)
45c430:	74 1d                	je     0x45c44f
45c432:	a1 e8 c3 4a 00       	mov    0x4ac3e8,%eax
45c437:	8b 4d c0             	mov    -0x40(%ebp),%ecx
45c43a:	03 c1                	add    %ecx,%eax
45c43c:	57                   	push   %edi
45c43d:	f7 d8                	neg    %eax
45c43f:	50                   	push   %eax
45c440:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c443:	50                   	push   %eax
45c444:	89 7d f8             	mov    %edi,-0x8(%ebp)
45c447:	ff 15 30 07 4b 00    	call   *0x4b0730
45c44d:	eb 2a                	jmp    0x45c479
45c44f:	8b 45 d8             	mov    -0x28(%ebp),%eax
45c452:	2b 05 e8 c3 4a 00    	sub    0x4ac3e8,%eax
45c458:	39 45 c0             	cmp    %eax,-0x40(%ebp)
45c45b:	7c 1c                	jl     0x45c479
45c45d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45c460:	3b c7                	cmp    %edi,%eax
45c462:	7e 15                	jle    0x45c479
45c464:	48                   	dec    %eax
45c465:	50                   	push   %eax
45c466:	8d 8b 94 00 00 00    	lea    0x94(%ebx),%ecx
45c46c:	e8 f4 9d fb ff       	call   0x416265
45c471:	39 38                	cmp    %edi,(%eax)
45c473:	0f 85 93 01 00 00    	jne    0x45c60c
45c479:	8d 45 b0             	lea    -0x50(%ebp),%eax
45c47c:	50                   	push   %eax
45c47d:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c480:	50                   	push   %eax
45c481:	ff 15 0c 07 4b 00    	call   *0x4b070c
45c487:	85 c0                	test   %eax,%eax
45c489:	75 36                	jne    0x45c4c1
45c48b:	39 bb a8 00 00 00    	cmp    %edi,0xa8(%ebx)
45c491:	75 1e                	jne    0x45c4b1
45c493:	f6 46 7c 01          	testb  $0x1,0x7c(%esi)
45c497:	75 18                	jne    0x45c4b1
45c499:	8b be 8c 00 00 00    	mov    0x8c(%esi),%edi
45c49f:	81 c7 94 00 00 00    	add    $0x94,%edi
45c4a5:	8d 75 c0             	lea    -0x40(%ebp),%esi
45c4a8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c4a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c4aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c4ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c4ac:	8b 75 f0             	mov    -0x10(%ebp),%esi
45c4af:	33 ff                	xor    %edi,%edi
45c4b1:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c4b4:	50                   	push   %eax
45c4b5:	ff 76 1c             	push   0x1c(%esi)
45c4b8:	8d 45 80             	lea    -0x80(%ebp),%eax
45c4bb:	50                   	push   %eax
45c4bc:	e8 9f 70 fe ff       	call   0x443560