45ffb6:	50                   	push   %eax
45ffb7:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45ffba:	e8 98 4d fb ff       	call   0x414d57
45ffbf:	39 5d 20             	cmp    %ebx,0x20(%ebp)
45ffc2:	75 08                	jne    0x45ffcc
45ffc4:	e8 b1 fe ff ff       	call   0x45fe7a
45ffc9:	89 45 20             	mov    %eax,0x20(%ebp)
45ffcc:	39 5d 24             	cmp    %ebx,0x24(%ebp)
45ffcf:	75 06                	jne    0x45ffd7
45ffd1:	8b 45 20             	mov    0x20(%ebp),%eax
45ffd4:	89 45 24             	mov    %eax,0x24(%ebp)
45ffd7:	89 5d e8             	mov    %ebx,-0x18(%ebp)
45ffda:	89 7d e4             	mov    %edi,-0x1c(%ebp)
45ffdd:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45ffe0:	89 7d ec             	mov    %edi,-0x14(%ebp)
45ffe3:	39 5d 14             	cmp    %ebx,0x14(%ebp)
45ffe6:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
45ffea:	0f 84 9e 00 00 00    	je     0x46008e
45fff0:	8b 3d bc ff 4a 00    	mov    0x4affbc,%edi
45fff6:	53                   	push   %ebx
45fff7:	53                   	push   %ebx
45fff8:	53                   	push   %ebx
45fff9:	53                   	push   %ebx
45fffa:	ff d7                	call   *%edi
45fffc:	50                   	push   %eax
45fffd:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
460000:	e8 5f f6 fe ff       	call   0x44f664
460005:	ff 75 14             	push   0x14(%ebp)
460008:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46000b:	e8 2c 4d fb ff       	call   0x414d3c
460010:	ff 75 14             	push   0x14(%ebp)
460013:	8d 45 bc             	lea    -0x44(%ebp),%eax
460016:	50                   	push   %eax
460017:	ff 15 44 07 4b 00    	call   *0x4b0744
46001d:	8b 45 1c             	mov    0x1c(%ebp),%eax
460020:	f7 d8                	neg    %eax
460022:	50                   	push   %eax
460023:	8b 45 18             	mov    0x18(%ebp),%eax
460026:	f7 d8                	neg    %eax
460028:	50                   	push   %eax
460029:	8d 45 bc             	lea    -0x44(%ebp),%eax
46002c:	50                   	push   %eax
46002d:	ff 15 88 06 4b 00    	call   *0x4b0688
460033:	ff 75 14             	push   0x14(%ebp)
460036:	8d 45 bc             	lea    -0x44(%ebp),%eax
460039:	50                   	push   %eax
46003a:	50                   	push   %eax
46003b:	ff 15 34 07 4b 00    	call   *0x4b0734
460041:	8d 45 bc             	lea    -0x44(%ebp),%eax
460044:	50                   	push   %eax
460045:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460048:	e8 ef 4c fb ff       	call   0x414d3c
46004d:	6a 03                	push   $0x3
46004f:	8d 45 dc             	lea    -0x24(%ebp),%eax
460052:	50                   	push   %eax
460053:	8d 45 d4             	lea    -0x2c(%ebp),%eax
460056:	50                   	push   %eax
460057:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46005a:	e8 f8 4c fb ff       	call   0x414d57
46005f:	8b 45 20             	mov    0x20(%ebp),%eax
460062:	8b 40 04             	mov    0x4(%eax),%eax
460065:	8b 4d 24             	mov    0x24(%ebp),%ecx
460068:	3b 41 04             	cmp    0x4(%ecx),%eax
46006b:	75 21                	jne    0x46008e
46006d:	53                   	push   %ebx
46006e:	53                   	push   %ebx
46006f:	53                   	push   %ebx
460070:	53                   	push   %ebx
460071:	ff d7                	call   *%edi
460073:	50                   	push   %eax
460074:	8d 4d ec             	lea    -0x14(%ebp),%ecx
460077:	e8 e8 f5 fe ff       	call   0x44f664
46007c:	6a 03                	push   $0x3
46007e:	8d 45 cc             	lea    -0x34(%ebp),%eax
460081:	50                   	push   %eax
460082:	8d 45 e4             	lea    -0x1c(%ebp),%eax
460085:	50                   	push   %eax
460086:	8d 4d ec             	lea    -0x14(%ebp),%ecx
460089:	e8 c9 4c fb ff       	call   0x414d57
46008e:	8b 45 20             	mov    0x20(%ebp),%eax
460091:	8b 40 04             	mov    0x4(%eax),%eax
460094:	8b 4d 24             	mov    0x24(%ebp),%ecx
460097:	3b 41 04             	cmp    0x4(%ecx),%eax
46009a:	8b 3d 7c ff 4a 00    	mov    0x4aff7c,%edi
4600a0:	74 50                	je     0x4600f2
4600a2:	39 5d 14             	cmp    %ebx,0x14(%ebp)
4600a5:	74 4b                	je     0x4600f2
4600a7:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4600aa:	50                   	push   %eax
4600ab:	8b ce                	mov    %esi,%ecx
4600ad:	e8 e0 ee fe ff       	call   0x44ef92
4600b2:	8b 06                	mov    (%esi),%eax
4600b4:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4600b7:	51                   	push   %ecx
4600b8:	8b ce                	mov    %esi,%ecx
4600ba:	ff 50 50             	call   *0x50(%eax)
4600bd:	ff 75 24             	push   0x24(%ebp)
4600c0:	8b ce                	mov    %esi,%ecx
4600c2:	e8 f1 f6 fe ff       	call   0x44f7b8
4600c7:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4600ca:	2b 4d bc             	sub    -0x44(%ebp),%ecx
4600cd:	89 45 14             	mov    %eax,0x14(%ebp)
4600d0:	8b 45 c8             	mov    -0x38(%ebp),%eax
4600d3:	2b 45 c0             	sub    -0x40(%ebp),%eax
4600d6:	68 49 00 5a 00       	push   $0x5a0049
4600db:	50                   	push   %eax
4600dc:	51                   	push   %ecx
4600dd:	ff 75 c0             	push   -0x40(%ebp)
4600e0:	ff 75 bc             	push   -0x44(%ebp)
4600e3:	ff 76 04             	push   0x4(%esi)
4600e6:	ff d7                	call   *%edi
4600e8:	ff 75 14             	push   0x14(%ebp)
4600eb:	8b ce                	mov    %esi,%ecx
4600ed:	e8 c6 f6 fe ff       	call   0x44f7b8
4600f2:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
4600f5:	8d 45 ec             	lea    -0x14(%ebp),%eax
4600f8:	75 03                	jne    0x4600fd
4600fa:	8d 45 cc             	lea    -0x34(%ebp),%eax
4600fd:	50                   	push   %eax
4600fe:	8b ce                	mov    %esi,%ecx
460100:	e8 8d ee fe ff       	call   0x44ef92
460105:	8b 06                	mov    (%esi),%eax
460107:	8d 4d bc             	lea    -0x44(%ebp),%ecx
46010a:	51                   	push   %ecx
46010b:	8b ce                	mov    %esi,%ecx
46010d:	ff 50 50             	call   *0x50(%eax)
460110:	ff 75 20             	push   0x20(%ebp)
460113:	8b ce                	mov    %esi,%ecx
460115:	e8 9e f6 fe ff       	call   0x44f7b8
46011a:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
46011d:	2b 4d bc             	sub    -0x44(%ebp),%ecx
460120:	89 45 14             	mov    %eax,0x14(%ebp)
460123:	8b 45 c8             	mov    -0x38(%ebp),%eax
460126:	2b 45 c0             	sub    -0x40(%ebp),%eax
460129:	68 49 00 5a 00       	push   $0x5a0049
46012e:	50                   	push   %eax
46012f:	51                   	push   %ecx
460130:	ff 75 c0             	push   -0x40(%ebp)
460133:	ff 75 bc             	push   -0x44(%ebp)
460136:	ff 76 04             	push   0x4(%esi)
460139:	ff d7                	call   *%edi
46013b:	39 5d 14             	cmp    %ebx,0x14(%ebp)
46013e:	74 0a                	je     0x46014a
460140:	ff 75 14             	push   0x14(%ebp)
460143:	8b ce                	mov    %esi,%ecx
460145:	e8 6e f6 fe ff       	call   0x44f7b8
46014a:	53                   	push   %ebx
46014b:	8b ce                	mov    %esi,%ecx
46014d:	e8 40 ee fe ff       	call   0x44ef92
460152:	be 70 b6 48 00       	mov    $0x48b670,%esi
460157:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46015a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46015e:	89 75 ec             	mov    %esi,-0x14(%ebp)
460161:	e8 55 f5 fe ff       	call   0x44f6bb
460166:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
460169:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46016d:	89 75 e4             	mov    %esi,-0x1c(%ebp)
460170:	e8 46 f5 fe ff       	call   0x44f6bb
460175:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460178:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46017c:	89 75 dc             	mov    %esi,-0x24(%ebp)
46017f:	e8 37 f5 fe ff       	call   0x44f6bb
460184:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
460187:	88 5d fc             	mov    %bl,-0x4(%ebp)
46018a:	89 75 d4             	mov    %esi,-0x2c(%ebp)
46018d:	e8 29 f5 fe ff       	call   0x44f6bb
460192:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
460196:	8d 4d cc             	lea    -0x34(%ebp),%ecx
460199:	89 75 cc             	mov    %esi,-0x34(%ebp)
46019c:	e8 1a f5 fe ff       	call   0x44f6bb
4601a1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4601a4:	5f                   	pop    %edi
4601a5:	5e                   	pop    %esi
4601a6:	5b                   	pop    %ebx
4601a7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4601ae:	c9                   	leave
4601af:	c2 20 00             	ret    $0x20
4601b2:	55                   	push   %ebp
4601b3:	8b ec                	mov    %esp,%ebp
4601b5:	83 ec 10             	sub    $0x10,%esp
4601b8:	56                   	push   %esi
4601b9:	ff 75 18             	push   0x18(%ebp)
4601bc:	8b f1                	mov    %ecx,%esi
4601be:	ff 76 04             	push   0x4(%esi)
4601c1:	ff 15 98 00 4b 00    	call   *0x4b0098
4601c7:	8b 45 08             	mov    0x8(%ebp),%eax
4601ca:	8b 55 10             	mov    0x10(%ebp),%edx
4601cd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4601d0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4601d3:	03 c2                	add    %edx,%eax
4601d5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4601d8:	8b 45 14             	mov    0x14(%ebp),%eax
4601db:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4601de:	03 c8                	add    %eax,%ecx
4601e0:	33 c0                	xor    %eax,%eax
4601e2:	50                   	push   %eax
4601e3:	50                   	push   %eax
4601e4:	50                   	push   %eax
4601e5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4601e8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4601eb:	51                   	push   %ecx
4601ec:	6a 02                	push   $0x2
4601ee:	50                   	push   %eax
4601ef:	50                   	push   %eax
4601f0:	ff 76 04             	push   0x4(%esi)
4601f3:	ff 15 84 00 4b 00    	call   *0x4b0084
4601f9:	5e                   	pop    %esi
4601fa:	c9                   	leave
4601fb:	c2 14 00             	ret    $0x14
4601fe:	55                   	push   %ebp
4601ff:	8b ec                	mov    %esp,%ebp
460201:	51                   	push   %ecx
460202:	53                   	push   %ebx
460203:	8b 5d 0c             	mov    0xc(%ebp),%ebx
460206:	56                   	push   %esi
460207:	8b 75 10             	mov    0x10(%ebp),%esi
46020a:	57                   	push   %edi
46020b:	ff 75 18             	push   0x18(%ebp)
46020e:	8d 46 ff             	lea    -0x1(%esi),%eax
460211:	6a 01                	push   $0x1
460213:	50                   	push   %eax
460214:	53                   	push   %ebx
460215:	ff 75 08             	push   0x8(%ebp)
460218:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46021b:	e8 92 ff ff ff       	call   0x4601b2
460220:	ff 75 18             	push   0x18(%ebp)
460223:	8b 7d 14             	mov    0x14(%ebp),%edi
460226:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460229:	8d 47 ff             	lea    -0x1(%edi),%eax
46022c:	50                   	push   %eax
46022d:	6a 01                	push   $0x1
46022f:	53                   	push   %ebx
460230:	ff 75 08             	push   0x8(%ebp)
460233:	e8 7a ff ff ff       	call   0x4601b2
460238:	ff 75 1c             	push   0x1c(%ebp)
46023b:	8b 45 08             	mov    0x8(%ebp),%eax
46023e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460241:	57                   	push   %edi
460242:	6a ff                	push   $0xffffffff
460244:	53                   	push   %ebx
460245:	03 c6                	add    %esi,%eax
460247:	50                   	push   %eax
460248:	e8 65 ff ff ff       	call   0x4601b2
46024d:	ff 75 1c             	push   0x1c(%ebp)
460250:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460253:	6a ff                	push   $0xffffffff
460255:	56                   	push   %esi
460256:	03 df                	add    %edi,%ebx
460258:	53                   	push   %ebx
460259:	ff 75 08             	push   0x8(%ebp)
46025c:	e8 51 ff ff ff       	call   0x4601b2
460261:	5f                   	pop    %edi
460262:	5e                   	pop    %esi
460263:	5b                   	pop    %ebx
460264:	c9                   	leave
460265:	c2 18 00             	ret    $0x18
460268:	55                   	push   %ebp
460269:	8b ec                	mov    %esp,%ebp
46026b:	83 ec 54             	sub    $0x54,%esp
46026e:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
460273:	89 45 fc             	mov    %eax,-0x4(%ebp)
460276:	8b 45 0c             	mov    0xc(%ebp),%eax
460279:	85 c0                	test   %eax,%eax
46027b:	53                   	push   %ebx
46027c:	57                   	push   %edi
46027d:	89 4d ac             	mov    %ecx,-0x54(%ebp)
460280:	74 05                	je     0x460287
460282:	8b 58 08             	mov    0x8(%eax),%ebx
460285:	eb 0a                	jmp    0x460291
460287:	6a 00                	push   $0x0
460289:	ff 15 60 06 4b 00    	call   *0x4b0660
46028f:	8b d8                	mov    %eax,%ebx
460291:	56                   	push   %esi
460292:	8b 75 08             	mov    0x8(%ebp),%esi
460295:	6a 0f                	push   $0xf
460297:	59                   	pop    %ecx
460298:	6a 5a                	push   $0x5a
46029a:	8d 7d c0             	lea    -0x40(%ebp),%edi
46029d:	53                   	push   %ebx
46029e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4602a0:	ff 15 48 00 4b 00    	call   *0x4b0048
4602a6:	0f af 45 c0          	imul   -0x40(%ebp),%eax
4602aa:	99                   	cltd
4602ab:	b9 d0 02 00 00       	mov    $0x2d0,%ecx
4602b0:	f7 f9                	idiv   %ecx
4602b2:	8b 35 80 ff 4a 00    	mov    0x4aff80,%esi
4602b8:	6a 01                	push   $0x1
4602ba:	33 ff                	xor    %edi,%edi
4602bc:	89 7d b8             	mov    %edi,-0x48(%ebp)
4602bf:	89 45 bc             	mov    %eax,-0x44(%ebp)
4602c2:	8d 45 b8             	lea    -0x48(%ebp),%eax
4602c5:	50                   	push   %eax
4602c6:	53                   	push   %ebx
4602c7:	ff d6                	call   *%esi
4602c9:	6a 01                	push   $0x1
4602cb:	8d 45 b0             	lea    -0x50(%ebp),%eax
4602ce:	50                   	push   %eax
4602cf:	53                   	push   %ebx
4602d0:	89 7d b0             	mov    %edi,-0x50(%ebp)
4602d3:	89 7d b4             	mov    %edi,-0x4c(%ebp)
4602d6:	ff d6                	call   *%esi
4602d8:	8b 45 bc             	mov    -0x44(%ebp),%eax
4602db:	2b 45 b4             	sub    -0x4c(%ebp),%eax
4602de:	50                   	push   %eax
4602df:	e8 b5 88 fb ff       	call   0x418b99
4602e4:	f7 d8                	neg    %eax
4602e6:	39 7d 0c             	cmp    %edi,0xc(%ebp)
4602e9:	59                   	pop    %ecx
4602ea:	89 45 c0             	mov    %eax,-0x40(%ebp)
4602ed:	5e                   	pop    %esi
4602ee:	75 08                	jne    0x4602f8
4602f0:	53                   	push   %ebx
4602f1:	57                   	push   %edi
4602f2:	ff 15 5c 06 4b 00    	call   *0x4b065c
4602f8:	8b 4d ac             	mov    -0x54(%ebp),%ecx
4602fb:	8d 45 c0             	lea    -0x40(%ebp),%eax
4602fe:	50                   	push   %eax
4602ff:	e8 2a 8e fa ff       	call   0x40912e
460304:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460307:	5f                   	pop    %edi
460308:	5b                   	pop    %ebx
460309:	e8 d0 78 fb ff       	call   0x417bde
46030e:	c9                   	leave
46030f:	c2 08 00             	ret    $0x8
460312:	8b 44 24 04          	mov    0x4(%esp),%eax
460316:	8b 50 04             	mov    0x4(%eax),%edx
460319:	56                   	push   %esi
46031a:	8b 30                	mov    (%eax),%esi
46031c:	57                   	push   %edi
46031d:	ff 74 24 14          	push   0x14(%esp)
460321:	8b 78 0c             	mov    0xc(%eax),%edi
460324:	ff 74 24 14          	push   0x14(%esp)
460328:	8b 40 08             	mov    0x8(%eax),%eax
46032b:	2b fa                	sub    %edx,%edi
46032d:	57                   	push   %edi
46032e:	2b c6                	sub    %esi,%eax
460330:	50                   	push   %eax
460331:	52                   	push   %edx
460332:	56                   	push   %esi
460333:	e8 c6 fe ff ff       	call   0x4601fe
460338:	5f                   	pop    %edi
460339:	5e                   	pop    %esi
46033a:	c2 0c 00             	ret    $0xc
46033d:	55                   	push   %ebp
46033e:	8b ec                	mov    %esp,%ebp
460340:	83 ec 40             	sub    $0x40,%esp
460343:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
460348:	56                   	push   %esi
460349:	89 45 fc             	mov    %eax,-0x4(%ebp)
46034c:	6a 3c                	push   $0x3c