45a040:	8b 10                	mov    (%eax),%edx
45a042:	ff 52 04             	call   *0x4(%edx)
45a045:	5b                   	pop    %ebx
45a046:	c3                   	ret
45a047:	90                   	nop
45a048:	53                   	push   %ebx
45a049:	56                   	push   %esi
45a04a:	8b f2                	mov    %edx,%esi
45a04c:	8b d8                	mov    %eax,%ebx
45a04e:	8b c6                	mov    %esi,%eax
45a050:	8b 15 28 93 45 00    	mov    0x459328,%edx
45a056:	e8 25 9a fa ff       	call   0x403a80
45a05b:	84 c0                	test   %al,%al
45a05d:	74 0e                	je     0x45a06d
45a05f:	8d 43 28             	lea    0x28(%ebx),%eax
45a062:	8b 56 28             	mov    0x28(%esi),%edx
45a065:	e8 d2 c0 fa ff       	call   0x40613c
45a06a:	5e                   	pop    %esi
45a06b:	5b                   	pop    %ebx
45a06c:	c3                   	ret
45a06d:	8b d6                	mov    %esi,%edx
45a06f:	8b c3                	mov    %ebx,%eax
45a071:	e8 a2 e0 fb ff       	call   0x418118
45a076:	5e                   	pop    %esi
45a077:	5b                   	pop    %ebx
45a078:	c3                   	ret
45a079:	8d 40 00             	lea    0x0(%eax),%eax
45a07c:	c3                   	ret
45a07d:	8d 40 00             	lea    0x0(%eax),%eax
45a080:	55                   	push   %ebp
45a081:	8b ec                	mov    %esp,%ebp
45a083:	83 c4 f0             	add    $0xfffffff0,%esp
45a086:	53                   	push   %ebx
45a087:	56                   	push   %esi
45a088:	57                   	push   %edi
45a089:	8b f1                	mov    %ecx,%esi
45a08b:	89 55 fc             	mov    %edx,-0x4(%ebp)
45a08e:	8b d8                	mov    %eax,%ebx
45a090:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
45a094:	0f 84 eb 00 00 00    	je     0x45a185
45a09a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a09d:	e8 8e 9b fc ff       	call   0x423c30
45a0a2:	33 c0                	xor    %eax,%eax
45a0a4:	55                   	push   %ebp
45a0a5:	68 7e a1 45 00       	push   $0x45a17e
45a0aa:	64 ff 30             	push   %fs:(%eax)
45a0ad:	64 89 20             	mov    %esp,%fs:(%eax)
45a0b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a0b3:	e8 f4 9d fc ff       	call   0x423eac
45a0b8:	8b f8                	mov    %eax,%edi
45a0ba:	8b c3                	mov    %ebx,%eax
45a0bc:	8b 10                	mov    (%eax),%edx
45a0be:	ff 52 24             	call   *0x24(%edx)
45a0c1:	89 45 f8             	mov    %eax,-0x8(%ebp)
45a0c4:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
45a0c8:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
45a0cc:	74 19                	je     0x45a0e7
45a0ce:	6a ff                	push   $0xffffffff
45a0d0:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a0d3:	50                   	push   %eax
45a0d4:	57                   	push   %edi
45a0d5:	e8 d6 cb fa ff       	call   0x406cb0
45a0da:	89 45 f8             	mov    %eax,-0x8(%ebp)
45a0dd:	57                   	push   %edi
45a0de:	e8 a5 cb fa ff       	call   0x406c88
45a0e3:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
45a0e7:	8d 45 f4             	lea    -0xc(%ebp),%eax
45a0ea:	50                   	push   %eax
45a0eb:	8b 43 28             	mov    0x28(%ebx),%eax
45a0ee:	50                   	push   %eax
45a0ef:	8b 00                	mov    (%eax),%eax
45a0f1:	ff 50 14             	call   *0x14(%eax)
45a0f4:	66 83 7d f4 04       	cmpw   $0x4,-0xc(%ebp)
45a0f9:	75 1a                	jne    0x45a115
45a0fb:	8d 45 f0             	lea    -0x10(%ebp),%eax
45a0fe:	50                   	push   %eax
45a0ff:	8b 43 28             	mov    0x28(%ebx),%eax
45a102:	50                   	push   %eax
45a103:	8b 00                	mov    (%eax),%eax
45a105:	ff 50 0c             	call   *0xc(%eax)
45a108:	56                   	push   %esi
45a109:	8b 45 f0             	mov    -0x10(%ebp),%eax
45a10c:	50                   	push   %eax
45a10d:	57                   	push   %edi
45a10e:	e8 6d cb fa ff       	call   0x406c80
45a113:	eb 41                	jmp    0x45a156
45a115:	56                   	push   %esi
45a116:	8b c3                	mov    %ebx,%eax
45a118:	e8 13 01 00 00       	call   0x45a230
45a11d:	f7 d8                	neg    %eax
45a11f:	50                   	push   %eax
45a120:	8b c3                	mov    %ebx,%eax
45a122:	e8 25 01 00 00       	call   0x45a24c
45a127:	50                   	push   %eax
45a128:	8b c3                	mov    %ebx,%eax
45a12a:	e8 01 01 00 00       	call   0x45a230
45a12f:	48                   	dec    %eax
45a130:	50                   	push   %eax
45a131:	6a 00                	push   $0x0
45a133:	8b 46 0c             	mov    0xc(%esi),%eax
45a136:	2b 46 04             	sub    0x4(%esi),%eax
45a139:	50                   	push   %eax
45a13a:	8b 46 08             	mov    0x8(%esi),%eax
45a13d:	2b 06                	sub    (%esi),%eax
45a13f:	50                   	push   %eax
45a140:	8b 46 04             	mov    0x4(%esi),%eax
45a143:	50                   	push   %eax
45a144:	8b 06                	mov    (%esi),%eax
45a146:	50                   	push   %eax
45a147:	57                   	push   %edi
45a148:	8b 43 28             	mov    0x28(%ebx),%eax
45a14b:	50                   	push   %eax
45a14c:	8b 00                	mov    (%eax),%eax
45a14e:	ff 50 20             	call   *0x20(%eax)
45a151:	e8 12 e2 ff ff       	call   0x458368
45a156:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
45a15a:	74 0c                	je     0x45a168
45a15c:	6a ff                	push   $0xffffffff
45a15e:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a161:	50                   	push   %eax
45a162:	57                   	push   %edi
45a163:	e8 48 cb fa ff       	call   0x406cb0
45a168:	33 c0                	xor    %eax,%eax
45a16a:	5a                   	pop    %edx
45a16b:	59                   	pop    %ecx
45a16c:	59                   	pop    %ecx
45a16d:	64 89 10             	mov    %edx,%fs:(%eax)
45a170:	68 85 a1 45 00       	push   $0x45a185
45a175:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a178:	e8 23 9c fc ff       	call   0x423da0
45a17d:	c3                   	ret
45a17e:	e9 05 9f fa ff       	jmp    0x404088
45a183:	eb f0                	jmp    0x45a175
45a185:	5f                   	pop    %edi
45a186:	5e                   	pop    %esi
45a187:	5b                   	pop    %ebx
45a188:	8b e5                	mov    %ebp,%esp
45a18a:	5d                   	pop    %ebp
45a18b:	c3                   	ret
45a18c:	53                   	push   %ebx
45a18d:	51                   	push   %ecx
45a18e:	8b d8                	mov    %eax,%ebx
45a190:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
45a194:	74 1a                	je     0x45a1b0
45a196:	54                   	push   %esp
45a197:	8b 43 28             	mov    0x28(%ebx),%eax
45a19a:	50                   	push   %eax
45a19b:	8b 00                	mov    (%eax),%eax
45a19d:	ff 50 14             	call   *0x14(%eax)
45a1a0:	85 c0                	test   %eax,%eax
45a1a2:	75 0c                	jne    0x45a1b0
45a1a4:	66 83 3c 24 00       	cmpw   $0x0,(%esp)
45a1a9:	7e 05                	jle    0x45a1b0
45a1ab:	33 c0                	xor    %eax,%eax
45a1ad:	5a                   	pop    %edx
45a1ae:	5b                   	pop    %ebx
45a1af:	c3                   	ret
45a1b0:	b0 01                	mov    $0x1,%al
45a1b2:	5a                   	pop    %edx
45a1b3:	5b                   	pop    %ebx
45a1b4:	c3                   	ret
45a1b5:	8d 40 00             	lea    0x0(%eax),%eax
45a1b8:	53                   	push   %ebx
45a1b9:	56                   	push   %esi
45a1ba:	57                   	push   %edi
45a1bb:	83 c4 f8             	add    $0xfffffff8,%esp
45a1be:	8b f0                	mov    %eax,%esi
45a1c0:	8d 3c 24             	lea    (%esp),%edi
45a1c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a1c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45a1c5:	8b da                	mov    %edx,%ebx
45a1c7:	6a 00                	push   $0x0
45a1c9:	e8 ea cc fa ff       	call   0x406eb8
45a1ce:	8b f0                	mov    %eax,%esi
45a1d0:	6a 03                	push   $0x3
45a1d2:	56                   	push   %esi
45a1d3:	e8 08 cb fa ff       	call   0x406ce0
45a1d8:	8b 04 24             	mov    (%esp),%eax
45a1db:	89 03                	mov    %eax,(%ebx)
45a1dd:	8b 44 24 04          	mov    0x4(%esp),%eax
45a1e1:	89 43 04             	mov    %eax,0x4(%ebx)
45a1e4:	f7 5b 04             	negl   0x4(%ebx)
45a1e7:	6a 01                	push   $0x1
45a1e9:	53                   	push   %ebx
45a1ea:	56                   	push   %esi
45a1eb:	e8 68 ca fa ff       	call   0x406c58
45a1f0:	56                   	push   %esi
45a1f1:	6a 00                	push   $0x0
45a1f3:	e8 30 cf fa ff       	call   0x407128
45a1f8:	59                   	pop    %ecx
45a1f9:	5a                   	pop    %edx
45a1fa:	5f                   	pop    %edi
45a1fb:	5e                   	pop    %esi
45a1fc:	5b                   	pop    %ebx
45a1fd:	c3                   	ret
45a1fe:	8b c0                	mov    %eax,%eax
45a200:	53                   	push   %ebx
45a201:	83 c4 f0             	add    $0xfffffff0,%esp
45a204:	8b d8                	mov    %eax,%ebx
45a206:	8b c3                	mov    %ebx,%eax
45a208:	e8 23 00 00 00       	call   0x45a230
45a20d:	8b d0                	mov    %eax,%edx
45a20f:	8d 4c 24 08          	lea    0x8(%esp),%ecx
45a213:	33 c0                	xor    %eax,%eax
45a215:	e8 d6 c4 fb ff       	call   0x4166f0
45a21a:	8d 44 24 08          	lea    0x8(%esp),%eax
45a21e:	8b d4                	mov    %esp,%edx
45a220:	e8 93 ff ff ff       	call   0x45a1b8
45a225:	8b 44 24 04          	mov    0x4(%esp),%eax
45a229:	83 c4 10             	add    $0x10,%esp
45a22c:	5b                   	pop    %ebx
45a22d:	c3                   	ret
45a22e:	8b c0                	mov    %eax,%eax
45a230:	51                   	push   %ecx
45a231:	33 d2                	xor    %edx,%edx
45a233:	89 14 24             	mov    %edx,(%esp)
45a236:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
45a23a:	74 0a                	je     0x45a246
45a23c:	54                   	push   %esp
45a23d:	8b 40 28             	mov    0x28(%eax),%eax
45a240:	50                   	push   %eax
45a241:	8b 00                	mov    (%eax),%eax
45a243:	ff 50 1c             	call   *0x1c(%eax)
45a246:	8b 04 24             	mov    (%esp),%eax
45a249:	5a                   	pop    %edx
45a24a:	c3                   	ret
45a24b:	90                   	nop
45a24c:	51                   	push   %ecx
45a24d:	33 d2                	xor    %edx,%edx
45a24f:	89 14 24             	mov    %edx,(%esp)
45a252:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
45a256:	74 0a                	je     0x45a262
45a258:	54                   	push   %esp
45a259:	8b 40 28             	mov    0x28(%eax),%eax
45a25c:	50                   	push   %eax
45a25d:	8b 00                	mov    (%eax),%eax
45a25f:	ff 50 18             	call   *0x18(%eax)
45a262:	8b 04 24             	mov    (%esp),%eax
45a265:	5a                   	pop    %edx
45a266:	c3                   	ret
45a267:	90                   	nop
45a268:	51                   	push   %ecx
45a269:	33 d2                	xor    %edx,%edx
45a26b:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
45a26f:	74 0d                	je     0x45a27e
45a271:	54                   	push   %esp
45a272:	8b 40 28             	mov    0x28(%eax),%eax
45a275:	50                   	push   %eax
45a276:	8b 00                	mov    (%eax),%eax
45a278:	ff 50 10             	call   *0x10(%eax)
45a27b:	8b 14 24             	mov    (%esp),%edx
45a27e:	8b c2                	mov    %edx,%eax
45a280:	5a                   	pop    %edx
45a281:	c3                   	ret
45a282:	8b c0                	mov    %eax,%eax
45a284:	51                   	push   %ecx
45a285:	33 d2                	xor    %edx,%edx
45a287:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
45a28b:	74 11                	je     0x45a29e
45a28d:	54                   	push   %esp
45a28e:	8b 40 28             	mov    0x28(%eax),%eax
45a291:	50                   	push   %eax
45a292:	8b 00                	mov    (%eax),%eax
45a294:	ff 50 40             	call   *0x40(%eax)
45a297:	f6 04 24 02          	testb  $0x2,(%esp)
45a29b:	0f 95 c2             	setne  %dl
45a29e:	8b c2                	mov    %edx,%eax
45a2a0:	5a                   	pop    %edx
45a2a1:	c3                   	ret
45a2a2:	8b c0                	mov    %eax,%eax
45a2a4:	53                   	push   %ebx
45a2a5:	83 c4 f0             	add    $0xfffffff0,%esp
45a2a8:	8b d8                	mov    %eax,%ebx
45a2aa:	8b c3                	mov    %ebx,%eax
45a2ac:	e8 9b ff ff ff       	call   0x45a24c
45a2b1:	8d 4c 24 08          	lea    0x8(%esp),%ecx
45a2b5:	33 d2                	xor    %edx,%edx
45a2b7:	e8 34 c4 fb ff       	call   0x4166f0
45a2bc:	8d 44 24 08          	lea    0x8(%esp),%eax
45a2c0:	8b d4                	mov    %esp,%edx
45a2c2:	e8 f1 fe ff ff       	call   0x45a1b8
45a2c7:	8b 04 24             	mov    (%esp),%eax
45a2ca:	83 c4 10             	add    $0x10,%esp
45a2cd:	5b                   	pop    %ebx
45a2ce:	c3                   	ret
45a2cf:	90                   	nop
45a2d0:	53                   	push   %ebx
45a2d1:	8b d8                	mov    %eax,%ebx
45a2d3:	8b cb                	mov    %ebx,%ecx
45a2d5:	b2 01                	mov    $0x1,%dl
45a2d7:	a1 a0 11 42 00       	mov    0x4211a0,%eax
45a2dc:	e8 5b 1f fb ff       	call   0x40c23c
45a2e1:	e8 82 9e fa ff       	call   0x404168
45a2e6:	5b                   	pop    %ebx
45a2e7:	c3                   	ret
45a2e8:	55                   	push   %ebp
45a2e9:	8b ec                	mov    %esp,%ebp
45a2eb:	6a 00                	push   $0x0
45a2ed:	33 c0                	xor    %eax,%eax
45a2ef:	55                   	push   %ebp
45a2f0:	68 26 a3 45 00       	push   $0x45a326
45a2f5:	64 ff 30             	push   %fs:(%eax)
45a2f8:	64 89 20             	mov    %esp,%fs:(%eax)
45a2fb:	8d 55 fc             	lea    -0x4(%ebp),%edx
45a2fe:	a1 d8 d3 46 00       	mov    0x46d3d8,%eax
45a303:	e8 fc c2 fa ff       	call   0x406604
45a308:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a30b:	e8 c0 ff ff ff       	call   0x45a2d0
45a310:	33 c0                	xor    %eax,%eax
45a312:	5a                   	pop    %edx
45a313:	59                   	pop    %ecx
45a314:	59                   	pop    %ecx
45a315:	64 89 10             	mov    %edx,%fs:(%eax)
45a318:	68 2d a3 45 00       	push   $0x45a32d
45a31d:	8d 45 fc             	lea    -0x4(%ebp),%eax
45a320:	e8 fb a3 fa ff       	call   0x404720
45a325:	c3                   	ret
45a326:	e9 5d 9d fa ff       	jmp    0x404088
45a32b:	eb f0                	jmp    0x45a31d
45a32d:	59                   	pop    %ecx
45a32e:	5d                   	pop    %ebp
45a32f:	c3                   	ret
45a330:	53                   	push   %ebx
45a331:	56                   	push   %esi
45a332:	8b f2                	mov    %edx,%esi
45a334:	8b d8                	mov    %eax,%ebx
45a336:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
45a33a:	74 0f                	je     0x45a34b
45a33c:	56                   	push   %esi
45a33d:	8b 43 28             	mov    0x28(%ebx),%eax
45a340:	50                   	push   %eax
45a341:	8b 00                	mov    (%eax),%eax
45a343:	ff 50 24             	call   *0x24(%eax)
45a346:	e8 1d e0 ff ff       	call   0x458368
45a34b:	5e                   	pop    %esi
45a34c:	5b                   	pop    %ebx
45a34d:	c3                   	ret
45a34e:	8b c0                	mov    %eax,%eax
45a350:	55                   	push   %ebp
45a351:	8b ec                	mov    %esp,%ebp
45a353:	6a 00                	push   $0x0
45a355:	33 c0                	xor    %eax,%eax
45a357:	55                   	push   %ebp
45a358:	68 8e a3 45 00       	push   $0x45a38e
45a35d:	64 ff 30             	push   %fs:(%eax)
45a360:	64 89 20             	mov    %esp,%fs:(%eax)
45a363:	8d 55 fc             	lea    -0x4(%ebp),%edx
45a366:	a1 d8 d3 46 00       	mov    0x46d3d8,%eax
45a36b:	e8 94 c2 fa ff       	call   0x406604
45a370:	8b 45 fc             	mov    -0x4(%ebp),%eax