45502d:	8b ce                	mov    %esi,%ecx
45502f:	e8 1e 00 00 00       	call   0x455052
455034:	5f                   	pop    %edi
455035:	5e                   	pop    %esi
455036:	5b                   	pop    %ebx
455037:	c9                   	leave
455038:	c2 04 00             	ret    $0x4
45503b:	83 39 00             	cmpl   $0x0,(%ecx)
45503e:	74 0f                	je     0x45504f
455040:	ff 31                	push   (%ecx)
455042:	ff 15 c0 d2 48 00    	call   *0x48d2c0
455048:	f7 d8                	neg    %eax
45504a:	1b c0                	sbb    %eax,%eax
45504c:	f7 d8                	neg    %eax
45504e:	c3                   	ret
45504f:	33 c0                	xor    %eax,%eax
455051:	c3                   	ret
455052:	55                   	push   %ebp
455053:	8b ec                	mov    %esp,%ebp
455055:	81 7d 0c ef be ad de 	cmpl   $0xdeadbeef,0xc(%ebp)
45505c:	8b 45 08             	mov    0x8(%ebp),%eax
45505f:	56                   	push   %esi
455060:	8b f1                	mov    %ecx,%esi
455062:	89 46 18             	mov    %eax,0x18(%esi)
455065:	75 09                	jne    0x455070
455067:	ff 15 10 d3 48 00    	call   *0x48d310
45506d:	89 46 1c             	mov    %eax,0x1c(%esi)
455070:	8d 8e d4 00 00 00    	lea    0xd4(%esi),%ecx
455076:	e8 c0 ff ff ff       	call   0x45503b
45507b:	8a 45 10             	mov    0x10(%ebp),%al
45507e:	5e                   	pop    %esi
45507f:	5d                   	pop    %ebp
455080:	c2 0c 00             	ret    $0xc
455083:	55                   	push   %ebp
455084:	8b ec                	mov    %esp,%ebp
455086:	56                   	push   %esi
455087:	ff 75 08             	push   0x8(%ebp)
45508a:	8d 71 04             	lea    0x4(%ecx),%esi
45508d:	8b ce                	mov    %esi,%ecx
45508f:	e8 c5 e2 fa ff       	call   0x403359
455094:	8d 48 20             	lea    0x20(%eax),%ecx
455097:	e8 12 8c fb ff       	call   0x40dcae
45509c:	8b ce                	mov    %esi,%ecx
45509e:	e8 b6 e2 fa ff       	call   0x403359
4550a3:	c6 40 30 00          	movb   $0x0,0x30(%eax)
4550a7:	5e                   	pop    %esi
4550a8:	5d                   	pop    %ebp
4550a9:	c2 08 00             	ret    $0x8
4550ac:	55                   	push   %ebp
4550ad:	8b ec                	mov    %esp,%ebp
4550af:	8b 45 0c             	mov    0xc(%ebp),%eax
4550b2:	8d 91 90 00 00 00    	lea    0x90(%ecx),%edx
4550b8:	83 78 70 01          	cmpl   $0x1,0x70(%eax)
4550bc:	74 03                	je     0x4550c1
4550be:	8d 51 5c             	lea    0x5c(%ecx),%edx
4550c1:	83 78 70 01          	cmpl   $0x1,0x70(%eax)
4550c5:	57                   	push   %edi
4550c6:	8d b9 a0 00 00 00    	lea    0xa0(%ecx),%edi
4550cc:	74 03                	je     0x4550d1
4550ce:	8d 79 6c             	lea    0x6c(%ecx),%edi
4550d1:	8b 42 04             	mov    0x4(%edx),%eax
4550d4:	85 c0                	test   %eax,%eax
4550d6:	74 21                	je     0x4550f9
4550d8:	40                   	inc    %eax
4550d9:	50                   	push   %eax
4550da:	ff 32                	push   (%edx)
4550dc:	6a 2b                	push   $0x2b
4550de:	ff 75 08             	push   0x8(%ebp)
4550e1:	ff 15 70 d7 48 00    	call   *0x48d770
4550e7:	8b 47 04             	mov    0x4(%edi),%eax
4550ea:	40                   	inc    %eax
4550eb:	50                   	push   %eax
4550ec:	ff 37                	push   (%edi)
4550ee:	6a 2c                	push   $0x2c
4550f0:	ff 75 08             	push   0x8(%ebp)
4550f3:	ff 15 70 d7 48 00    	call   *0x48d770
4550f9:	5f                   	pop    %edi
4550fa:	5d                   	pop    %ebp
4550fb:	c2 08 00             	ret    $0x8
4550fe:	53                   	push   %ebx
4550ff:	8b da                	mov    %edx,%ebx
455101:	56                   	push   %esi
455102:	8b 43 04             	mov    0x4(%ebx),%eax
455105:	57                   	push   %edi
455106:	8b f9                	mov    %ecx,%edi
455108:	8b 08                	mov    (%eax),%ecx
45510a:	e8 77 81 fb ff       	call   0x40d286
45510f:	6a 02                	push   $0x2
455111:	59                   	pop    %ecx
455112:	48                   	dec    %eax
455113:	74 0c                	je     0x455121
455115:	48                   	dec    %eax
455116:	74 04                	je     0x45511c
455118:	33 c0                	xor    %eax,%eax
45511a:	eb 08                	jmp    0x455124
45511c:	66 89 0f             	mov    %cx,(%edi)
45511f:	eb 06                	jmp    0x455127
455121:	33 c0                	xor    %eax,%eax
455123:	40                   	inc    %eax
455124:	66 89 07             	mov    %ax,(%edi)
455127:	8b 43 08             	mov    0x8(%ebx),%eax
45512a:	2b c1                	sub    %ecx,%eax
45512c:	74 36                	je     0x455164
45512e:	48                   	dec    %eax
45512f:	74 1b                	je     0x45514c
455131:	48                   	dec    %eax
455132:	75 48                	jne    0x45517c
455134:	8b 43 04             	mov    0x4(%ebx),%eax
455137:	8b 70 0c             	mov    0xc(%eax),%esi
45513a:	8b ce                	mov    %esi,%ecx
45513c:	e8 2b 42 fb ff       	call   0x40936c
455141:	ff 76 08             	push   0x8(%esi)
455144:	8d 4f 14             	lea    0x14(%edi),%ecx
455147:	e8 a1 1d fb ff       	call   0x406eed
45514c:	8b 43 04             	mov    0x4(%ebx),%eax
45514f:	8b 70 08             	mov    0x8(%eax),%esi
455152:	8b ce                	mov    %esi,%ecx
455154:	e8 13 42 fb ff       	call   0x40936c
455159:	ff 76 08             	push   0x8(%esi)
45515c:	8d 4f 04             	lea    0x4(%edi),%ecx
45515f:	e8 89 1d fb ff       	call   0x406eed
455164:	8b 43 04             	mov    0x4(%ebx),%eax
455167:	8b 70 04             	mov    0x4(%eax),%esi
45516a:	8b ce                	mov    %esi,%ecx
45516c:	e8 fb 41 fb ff       	call   0x40936c
455171:	ff 76 08             	push   0x8(%esi)
455174:	8d 4f 24             	lea    0x24(%edi),%ecx
455177:	e8 71 1d fb ff       	call   0x406eed
45517c:	5f                   	pop    %edi
45517d:	5e                   	pop    %esi
45517e:	5b                   	pop    %ebx
45517f:	c3                   	ret
455180:	55                   	push   %ebp
455181:	8b ec                	mov    %esp,%ebp
455183:	83 ec 4c             	sub    $0x4c,%esp
455186:	56                   	push   %esi
455187:	6a 38                	push   $0x38
455189:	33 f6                	xor    %esi,%esi
45518b:	8d 45 b8             	lea    -0x48(%ebp),%eax
45518e:	56                   	push   %esi
45518f:	50                   	push   %eax
455190:	e8 bb bb fc ff       	call   0x420d50
455195:	33 c0                	xor    %eax,%eax
455197:	40                   	inc    %eax
455198:	83 c4 0c             	add    $0xc,%esp
45519b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
45519e:	89 45 c8             	mov    %eax,-0x38(%ebp)
4551a1:	89 45 bc             	mov    %eax,-0x44(%ebp)
4551a4:	89 45 ec             	mov    %eax,-0x14(%ebp)
4551a7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4551aa:	89 45 dc             	mov    %eax,-0x24(%ebp)
4551ad:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4551b0:	50                   	push   %eax
4551b1:	56                   	push   %esi
4551b2:	ff 75 08             	push   0x8(%ebp)
4551b5:	c7 45 b4 7c 00 00 00 	movl   $0x7c,-0x4c(%ebp)
4551bc:	e8 1a bb fc ff       	call   0x420cdb
4551c1:	59                   	pop    %ecx
4551c2:	50                   	push   %eax
4551c3:	ff 75 08             	push   0x8(%ebp)
4551c6:	ff 15 74 d7 48 00    	call   *0x48d774
4551cc:	85 c0                	test   %eax,%eax
4551ce:	75 07                	jne    0x4551d7
4551d0:	32 c0                	xor    %al,%al
4551d2:	e9 b0 00 00 00       	jmp    0x455287
4551d7:	53                   	push   %ebx
4551d8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4551db:	57                   	push   %edi
4551dc:	ff 75 bc             	push   -0x44(%ebp)
4551df:	8b cb                	mov    %ebx,%ecx
4551e1:	56                   	push   %esi
4551e2:	ff 75 b8             	push   -0x48(%ebp)
4551e5:	e8 65 70 fb ff       	call   0x40c24f
4551ea:	ff 75 c8             	push   -0x38(%ebp)
4551ed:	8d 4b 10             	lea    0x10(%ebx),%ecx
4551f0:	56                   	push   %esi
4551f1:	ff 75 c4             	push   -0x3c(%ebp)
4551f4:	e8 56 70 fb ff       	call   0x40c24f
4551f9:	ff 75 d4             	push   -0x2c(%ebp)
4551fc:	8d 4b 20             	lea    0x20(%ebx),%ecx
4551ff:	56                   	push   %esi
455200:	ff 75 d0             	push   -0x30(%ebp)
455203:	e8 47 70 fb ff       	call   0x40c24f
455208:	ff 75 dc             	push   -0x24(%ebp)
45520b:	8d 4b 30             	lea    0x30(%ebx),%ecx
45520e:	56                   	push   %esi
45520f:	ff 75 d8             	push   -0x28(%ebp)
455212:	e8 38 70 fb ff       	call   0x40c24f
455217:	ff 75 e4             	push   -0x1c(%ebp)
45521a:	8d 4b 40             	lea    0x40(%ebx),%ecx
45521d:	56                   	push   %esi
45521e:	ff 75 e0             	push   -0x20(%ebp)
455221:	e8 29 70 fb ff       	call   0x40c24f
455226:	ff 75 ec             	push   -0x14(%ebp)
455229:	8d 73 50             	lea    0x50(%ebx),%esi
45522c:	6a 00                	push   $0x0
45522e:	ff 75 e8             	push   -0x18(%ebp)
455231:	8b ce                	mov    %esi,%ecx
455233:	e8 17 70 fb ff       	call   0x40c24f
455238:	56                   	push   %esi
455239:	8d 45 f0             	lea    -0x10(%ebp),%eax
45523c:	50                   	push   %eax
45523d:	8d 4b 40             	lea    0x40(%ebx),%ecx
455240:	e8 4a 53 fe ff       	call   0x43a58f
455245:	50                   	push   %eax
455246:	8d 4b 60             	lea    0x60(%ebx),%ecx
455249:	e8 9f 1c fb ff       	call   0x406eed
45524e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
455251:	e8 e1 78 fb ff       	call   0x40cb37
455256:	66 8b 45 cc          	mov    -0x34(%ebp),%ax
45525a:	66 89 43 78          	mov    %ax,0x78(%ebx)
45525e:	8b 45 c0             	mov    -0x40(%ebp),%eax
455261:	89 43 74             	mov    %eax,0x74(%ebx)
455264:	48                   	dec    %eax
455265:	74 15                	je     0x45527c
455267:	48                   	dec    %eax
455268:	74 09                	je     0x455273
45526a:	c7 43 70 03 00 00 00 	movl   $0x3,0x70(%ebx)
455271:	eb 10                	jmp    0x455283
455273:	c7 43 70 02 00 00 00 	movl   $0x2,0x70(%ebx)
45527a:	eb 07                	jmp    0x455283
45527c:	c7 43 70 01 00 00 00 	movl   $0x1,0x70(%ebx)
455283:	5f                   	pop    %edi
455284:	b0 01                	mov    $0x1,%al
455286:	5b                   	pop    %ebx
455287:	5e                   	pop    %esi
455288:	c9                   	leave
455289:	c2 08 00             	ret    $0x8
45528c:	55                   	push   %ebp
45528d:	8b ec                	mov    %esp,%ebp
45528f:	56                   	push   %esi
455290:	8b f1                	mov    %ecx,%esi
455292:	80 be d0 00 00 00 00 	cmpb   $0x0,0xd0(%esi)
455299:	74 2e                	je     0x4552c9
45529b:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
45529f:	74 28                	je     0x4552c9
4552a1:	83 ec 10             	sub    $0x10,%esp
4552a4:	8d 8e d4 00 00 00    	lea    0xd4(%esi),%ecx
4552aa:	e8 40 f0 ff ff       	call   0x4542ef
4552af:	56                   	push   %esi
4552b0:	6a 00                	push   $0x0
4552b2:	68 5a 53 45 00       	push   $0x45535a
4552b7:	e8 11 ec fc ff       	call   0x423ecd
4552bc:	33 c0                	xor    %eax,%eax
4552be:	83 c4 0c             	add    $0xc,%esp
4552c1:	39 46 18             	cmp    %eax,0x18(%esi)
4552c4:	0f 94 c0             	sete   %al
4552c7:	eb 08                	jmp    0x4552d1
4552c9:	ff 75 08             	push   0x8(%ebp)
4552cc:	e8 f0 f1 ff ff       	call   0x4544c1
4552d1:	5e                   	pop    %esi
4552d2:	5d                   	pop    %ebp
4552d3:	c2 04 00             	ret    $0x4
4552d6:	57                   	push   %edi
4552d7:	8b f9                	mov    %ecx,%edi
4552d9:	ff 77 04             	push   0x4(%edi)
4552dc:	ff 15 68 d7 48 00    	call   *0x48d768
4552e2:	ff 37                	push   (%edi)
4552e4:	ff 15 68 d7 48 00    	call   *0x48d768
4552ea:	83 27 00             	andl   $0x0,(%edi)
4552ed:	83 67 04 00          	andl   $0x0,0x4(%edi)
4552f1:	68 10 27 00 00       	push   $0x2710
4552f6:	8d 8f d4 00 00 00    	lea    0xd4(%edi),%ecx
4552fc:	e8 68 00 00 00       	call   0x455369
455301:	5f                   	pop    %edi
455302:	c3                   	ret
455303:	55                   	push   %ebp
455304:	8b ec                	mov    %esp,%ebp
455306:	51                   	push   %ecx
455307:	51                   	push   %ecx
455308:	53                   	push   %ebx
455309:	8b 5d 08             	mov    0x8(%ebp),%ebx
45530c:	56                   	push   %esi
45530d:	57                   	push   %edi
45530e:	8b f9                	mov    %ecx,%edi
455310:	85 db                	test   %ebx,%ebx
455312:	74 3d                	je     0x455351
455314:	8b 75 0c             	mov    0xc(%ebp),%esi
455317:	85 f6                	test   %esi,%esi
455319:	74 36                	je     0x455351
45531b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
45531f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
455323:	8d 45 f8             	lea    -0x8(%ebp),%eax
455326:	50                   	push   %eax
455327:	e8 0f 01 00 00       	call   0x45543b
45532c:	6a 00                	push   $0x0
45532e:	e8 2b a2 fc ff       	call   0x41f55e
455333:	8b 47 04             	mov    0x4(%edi),%eax
455336:	59                   	pop    %ecx
455337:	8b 4f 08             	mov    0x8(%edi),%ecx
45533a:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45533e:	89 18                	mov    %ebx,(%eax)
455340:	8b 4f 08             	mov    0x8(%edi),%ecx
455343:	8b 47 04             	mov    0x4(%edi),%eax
455346:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45534a:	89 70 04             	mov    %esi,0x4(%eax)
45534d:	b0 01                	mov    $0x1,%al
45534f:	eb 02                	jmp    0x455353
455351:	32 c0                	xor    %al,%al
455353:	5f                   	pop    %edi
455354:	5e                   	pop    %esi
455355:	5b                   	pop    %ebx
455356:	c9                   	leave
455357:	c2 08 00             	ret    $0x8
45535a:	55                   	push   %ebp
45535b:	8b ec                	mov    %esp,%ebp
45535d:	8b 4d 08             	mov    0x8(%ebp),%ecx
455360:	6a 01                	push   $0x1
455362:	e8 5a f1 ff ff       	call   0x4544c1
455367:	5d                   	pop    %ebp
455368:	c3                   	ret
455369:	55                   	push   %ebp
45536a:	8b ec                	mov    %esp,%ebp
45536c:	83 39 00             	cmpl   $0x0,(%ecx)
45536f:	74 12                	je     0x455383
455371:	ff 75 08             	push   0x8(%ebp)
455374:	ff 31                	push   (%ecx)
455376:	ff 15 4c d2 48 00    	call   *0x48d24c
45537c:	f7 d8                	neg    %eax
45537e:	1b c0                	sbb    %eax,%eax
455380:	40                   	inc    %eax
455381:	eb 02                	jmp    0x455385
455383:	33 c0                	xor    %eax,%eax
455385:	5d                   	pop    %ebp
455386:	c2 04 00             	ret    $0x4
455389:	56                   	push   %esi
45538a:	57                   	push   %edi
45538b:	8b f1                	mov    %ecx,%esi
45538d:	33 ff                	xor    %edi,%edi
45538f:	39 7e 08             	cmp    %edi,0x8(%esi)
455392:	76 1d                	jbe    0x4553b1
455394:	8b 46 04             	mov    0x4(%esi),%eax
455397:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
45539a:	85 c9                	test   %ecx,%ecx
45539c:	74 06                	je     0x4553a4
45539e:	51                   	push   %ecx
45539f:	e8 fa e5 fa ff       	call   0x40399e
4553a4:	8b 46 04             	mov    0x4(%esi),%eax
4553a7:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
4553ab:	47                   	inc    %edi
4553ac:	3b 7e 08             	cmp    0x8(%esi),%edi
4553af:	72 e3                	jb     0x455394
4553b1:	83 66 08 00          	andl   $0x0,0x8(%esi)
4553b5:	5f                   	pop    %edi
4553b6:	5e                   	pop    %esi
4553b7:	c3                   	ret
4553b8:	56                   	push   %esi
4553b9:	8b f1                	mov    %ecx,%esi
4553bb:	8b 4e 04             	mov    0x4(%esi),%ecx
4553be:	85 c9                	test   %ecx,%ecx