4541db:	e8 57 89 fb ff       	call   0x40cb37
4541e0:	8b ce                	mov    %esi,%ecx
4541e2:	5e                   	pop    %esi
4541e3:	e9 4f 89 fb ff       	jmp    0x40cb37
4541e8:	56                   	push   %esi
4541e9:	8d b1 88 00 00 00    	lea    0x88(%ecx),%esi
4541ef:	8b ce                	mov    %esi,%ecx
4541f1:	e8 f5 f2 fa ff       	call   0x4034eb
4541f6:	c7 06 2c dc 49 00    	movl   $0x49dc2c,(%esi)
4541fc:	8d 4e 04             	lea    0x4(%esi),%ecx
4541ff:	5e                   	pop    %esi
454200:	e9 eb f3 fa ff       	jmp    0x4035f0
454205:	55                   	push   %ebp
454206:	8b ec                	mov    %esp,%ebp
454208:	56                   	push   %esi
454209:	8b f1                	mov    %ecx,%esi
45420b:	e8 4f ff ff ff       	call   0x45415f
454210:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
454214:	74 07                	je     0x45421d
454216:	56                   	push   %esi
454217:	e8 42 b3 fc ff       	call   0x41f55e
45421c:	59                   	pop    %ecx
45421d:	8b c6                	mov    %esi,%eax
45421f:	5e                   	pop    %esi
454220:	5d                   	pop    %ebp
454221:	c2 04 00             	ret    $0x4
454224:	56                   	push   %esi
454225:	8b f1                	mov    %ecx,%esi
454227:	e8 4c ff ff ff       	call   0x454178
45422c:	56                   	push   %esi
45422d:	e8 2c b3 fc ff       	call   0x41f55e
454232:	59                   	pop    %ecx
454233:	8b c6                	mov    %esi,%eax
454235:	5e                   	pop    %esi
454236:	c2 04 00             	ret    $0x4
454239:	55                   	push   %ebp
45423a:	8b ec                	mov    %esp,%ebp
45423c:	56                   	push   %esi
45423d:	8d b1 78 ff ff ff    	lea    -0x88(%ecx),%esi
454243:	8b ce                	mov    %esi,%ecx
454245:	e8 9e ff ff ff       	call   0x4541e8
45424a:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
45424e:	74 07                	je     0x454257
454250:	56                   	push   %esi
454251:	e8 08 b3 fc ff       	call   0x41f55e
454256:	59                   	pop    %ecx
454257:	8b c6                	mov    %esi,%eax
454259:	5e                   	pop    %esi
45425a:	5d                   	pop    %ebp
45425b:	c2 04 00             	ret    $0x4
45425e:	56                   	push   %esi
45425f:	8b f1                	mov    %ecx,%esi
454261:	8b 0e                	mov    (%esi),%ecx
454263:	85 c9                	test   %ecx,%ecx
454265:	74 06                	je     0x45426d
454267:	51                   	push   %ecx
454268:	e8 b7 ff ff ff       	call   0x454224
45426d:	56                   	push   %esi
45426e:	e8 eb b2 fc ff       	call   0x41f55e
454273:	59                   	pop    %ecx
454274:	8b c6                	mov    %esi,%eax
454276:	5e                   	pop    %esi
454277:	c2 04 00             	ret    $0x4
45427a:	85 c9                	test   %ecx,%ecx
45427c:	75 03                	jne    0x454281
45427e:	33 c0                	xor    %eax,%eax
454280:	c3                   	ret
454281:	51                   	push   %ecx
454282:	e8 63 b2 fc ff       	call   0x41f4ea
454287:	59                   	pop    %ecx
454288:	c3                   	ret
454289:	55                   	push   %ebp
45428a:	8b ec                	mov    %esp,%ebp
45428c:	53                   	push   %ebx
45428d:	56                   	push   %esi
45428e:	8b f1                	mov    %ecx,%esi
454290:	57                   	push   %edi
454291:	8b 4e 08             	mov    0x8(%esi),%ecx
454294:	33 ff                	xor    %edi,%edi
454296:	8b df                	mov    %edi,%ebx
454298:	85 c9                	test   %ecx,%ecx
45429a:	74 0e                	je     0x4542aa
45429c:	8b 56 04             	mov    0x4(%esi),%edx
45429f:	8b 02                	mov    (%edx),%eax
4542a1:	8d 52 04             	lea    0x4(%edx),%edx
4542a4:	03 58 04             	add    0x4(%eax),%ebx
4542a7:	49                   	dec    %ecx
4542a8:	75 f5                	jne    0x45429f
4542aa:	8b 4d 08             	mov    0x8(%ebp),%ecx
4542ad:	53                   	push   %ebx
4542ae:	e8 30 61 ff ff       	call   0x44a3e3
4542b3:	8b c8                	mov    %eax,%ecx
4542b5:	89 4d 08             	mov    %ecx,0x8(%ebp)
4542b8:	8b df                	mov    %edi,%ebx
4542ba:	39 7e 08             	cmp    %edi,0x8(%esi)
4542bd:	76 29                	jbe    0x4542e8
4542bf:	8b 46 04             	mov    0x4(%esi),%eax
4542c2:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4542c5:	ff 70 04             	push   0x4(%eax)
4542c8:	ff 30                	push   (%eax)
4542ca:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
4542cd:	50                   	push   %eax
4542ce:	e8 ad ab fc ff       	call   0x41ee80
4542d3:	8b 46 04             	mov    0x4(%esi),%eax
4542d6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4542d9:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4542dc:	83 c4 0c             	add    $0xc,%esp
4542df:	03 78 04             	add    0x4(%eax),%edi
4542e2:	43                   	inc    %ebx
4542e3:	3b 5e 08             	cmp    0x8(%esi),%ebx
4542e6:	72 d7                	jb     0x4542bf
4542e8:	5f                   	pop    %edi
4542e9:	5e                   	pop    %esi
4542ea:	5b                   	pop    %ebx
4542eb:	5d                   	pop    %ebp
4542ec:	c2 04 00             	ret    $0x4
4542ef:	56                   	push   %esi
4542f0:	57                   	push   %edi
4542f1:	8b f1                	mov    %ecx,%esi
4542f3:	33 ff                	xor    %edi,%edi
4542f5:	39 3e                	cmp    %edi,(%esi)
4542f7:	74 0a                	je     0x454303
4542f9:	ff 36                	push   (%esi)
4542fb:	ff 15 0c d3 48 00    	call   *0x48d30c
454301:	89 3e                	mov    %edi,(%esi)
454303:	57                   	push   %edi
454304:	57                   	push   %edi
454305:	6a 01                	push   $0x1
454307:	57                   	push   %edi
454308:	ff 15 bc d2 48 00    	call   *0x48d2bc
45430e:	33 c9                	xor    %ecx,%ecx
454310:	89 06                	mov    %eax,(%esi)
454312:	85 c0                	test   %eax,%eax
454314:	5f                   	pop    %edi
454315:	0f 95 c0             	setne  %al
454318:	5e                   	pop    %esi
454319:	c2 10 00             	ret    $0x10
45431c:	55                   	push   %ebp
45431d:	8b ec                	mov    %esp,%ebp
45431f:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
454323:	56                   	push   %esi
454324:	8b f1                	mov    %ecx,%esi
454326:	74 10                	je     0x454338
454328:	ff 75 10             	push   0x10(%ebp)
45432b:	ff 75 08             	push   0x8(%ebp)
45432e:	e8 af 00 00 00       	call   0x4543e2
454333:	e9 a5 00 00 00       	jmp    0x4543dd
454338:	53                   	push   %ebx
454339:	8b 5e 54             	mov    0x54(%esi),%ebx
45433c:	57                   	push   %edi
45433d:	8b 7d 08             	mov    0x8(%ebp),%edi
454340:	6a 00                	push   $0x0
454342:	0f b7 47 78          	movzwl 0x78(%edi),%eax
454346:	6a 00                	push   $0x0
454348:	ff 77 70             	push   0x70(%edi)
45434b:	ff 77 30             	push   0x30(%edi)
45434e:	ff 77 20             	push   0x20(%edi)
454351:	50                   	push   %eax
454352:	ff 77 10             	push   0x10(%edi)
454355:	ff 76 04             	push   0x4(%esi)
454358:	ff 15 94 d7 48 00    	call   *0x48d794
45435e:	89 06                	mov    %eax,(%esi)
454360:	6a 00                	push   $0x0
454362:	85 c0                	test   %eax,%eax
454364:	75 10                	jne    0x454376
454366:	68 ef be ad de       	push   $0xdeadbeef
45436b:	6a 15                	push   $0x15
45436d:	8b ce                	mov    %esi,%ecx
45436f:	e8 de 0c 00 00       	call   0x455052
454374:	eb 65                	jmp    0x4543db
454376:	53                   	push   %ebx
454377:	68 00 00 00 80       	push   $0x80000000
45437c:	ff 77 60             	push   0x60(%edi)
45437f:	50                   	push   %eax
454380:	ff 15 88 d7 48 00    	call   *0x48d788
454386:	8b f8                	mov    %eax,%edi
454388:	85 ff                	test   %edi,%edi
45438a:	75 0a                	jne    0x454396
45438c:	50                   	push   %eax
45438d:	68 ef be ad de       	push   $0xdeadbeef
454392:	6a 16                	push   $0x16
454394:	eb 2f                	jmp    0x4543c5
454396:	8d 45 0c             	lea    0xc(%ebp),%eax
454399:	50                   	push   %eax
45439a:	57                   	push   %edi
45439b:	ff 15 8c d7 48 00    	call   *0x48d78c
4543a1:	8b 55 0c             	mov    0xc(%ebp),%edx
4543a4:	33 c9                	xor    %ecx,%ecx
4543a6:	0b c8                	or     %eax,%ecx
4543a8:	33 c0                	xor    %eax,%eax
4543aa:	0b d0                	or     %eax,%edx
4543ac:	89 4e 10             	mov    %ecx,0x10(%esi)
4543af:	89 56 14             	mov    %edx,0x14(%esi)
4543b2:	38 45 10             	cmp    %al,0x10(%ebp)
4543b5:	74 0a                	je     0x4543c1
4543b7:	57                   	push   %edi
4543b8:	8b ce                	mov    %esi,%ecx
4543ba:	e8 f6 0a 00 00       	call   0x454eb5
4543bf:	eb 0b                	jmp    0x4543cc
4543c1:	6a 01                	push   $0x1
4543c3:	50                   	push   %eax
4543c4:	50                   	push   %eax
4543c5:	8b ce                	mov    %esi,%ecx
4543c7:	e8 86 0c 00 00       	call   0x455052
4543cc:	8a d8                	mov    %al,%bl
4543ce:	85 ff                	test   %edi,%edi
4543d0:	74 07                	je     0x4543d9
4543d2:	57                   	push   %edi
4543d3:	ff 15 68 d7 48 00    	call   *0x48d768
4543d9:	8a c3                	mov    %bl,%al
4543db:	5f                   	pop    %edi
4543dc:	5b                   	pop    %ebx
4543dd:	5e                   	pop    %esi
4543de:	5d                   	pop    %ebp
4543df:	c2 0c 00             	ret    $0xc
4543e2:	55                   	push   %ebp
4543e3:	8b ec                	mov    %esp,%ebp
4543e5:	83 ec 24             	sub    $0x24,%esp
4543e8:	53                   	push   %ebx
4543e9:	56                   	push   %esi
4543ea:	57                   	push   %edi
4543eb:	8b f1                	mov    %ecx,%esi
4543ed:	33 db                	xor    %ebx,%ebx
4543ef:	8b 46 54             	mov    0x54(%esi),%eax
4543f2:	53                   	push   %ebx
4543f3:	25 00 00 00 80       	and    $0x80000000,%eax
4543f8:	50                   	push   %eax
4543f9:	53                   	push   %ebx
4543fa:	53                   	push   %ebx
4543fb:	ff 76 20             	push   0x20(%esi)
4543fe:	ff 76 04             	push   0x4(%esi)
454401:	ff 15 90 d7 48 00    	call   *0x48d790
454407:	8b f8                	mov    %eax,%edi
454409:	8b ce                	mov    %esi,%ecx
45440b:	85 ff                	test   %edi,%edi
45440d:	75 0a                	jne    0x454419
45440f:	53                   	push   %ebx
454410:	68 ef be ad de       	push   $0xdeadbeef
454415:	6a 29                	push   $0x29
454417:	eb 79                	jmp    0x454492
454419:	ff 75 08             	push   0x8(%ebp)
45441c:	57                   	push   %edi
45441d:	e8 8a 0c 00 00       	call   0x4550ac
454422:	53                   	push   %ebx
454423:	53                   	push   %ebx
454424:	53                   	push   %ebx
454425:	53                   	push   %ebx
454426:	57                   	push   %edi
454427:	ff 15 84 d7 48 00    	call   *0x48d784
45442d:	85 c0                	test   %eax,%eax
45442f:	74 57                	je     0x454488
454431:	57                   	push   %edi
454432:	e8 4e 01 00 00       	call   0x454585
454437:	3d c8 00 00 00       	cmp    $0xc8,%eax
45443c:	75 4a                	jne    0x454488
45443e:	8d 45 08             	lea    0x8(%ebp),%eax
454441:	50                   	push   %eax
454442:	8d 45 fc             	lea    -0x4(%ebp),%eax
454445:	50                   	push   %eax
454446:	8d 45 dc             	lea    -0x24(%ebp),%eax
454449:	50                   	push   %eax
45444a:	6a 05                	push   $0x5
45444c:	57                   	push   %edi
45444d:	89 5d 08             	mov    %ebx,0x8(%ebp)
454450:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
454457:	ff 15 78 d7 48 00    	call   *0x48d778
45445d:	33 c0                	xor    %eax,%eax
45445f:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
454463:	8d 45 dc             	lea    -0x24(%ebp),%eax
454466:	50                   	push   %eax
454467:	e8 be d1 fc ff       	call   0x42162a
45446c:	59                   	pop    %ecx
45446d:	89 46 10             	mov    %eax,0x10(%esi)
454470:	89 56 14             	mov    %edx,0x14(%esi)
454473:	8b ce                	mov    %esi,%ecx
454475:	38 5d 0c             	cmp    %bl,0xc(%ebp)
454478:	74 08                	je     0x454482
45447a:	57                   	push   %edi
45447b:	e8 35 0a 00 00       	call   0x454eb5
454480:	eb 15                	jmp    0x454497
454482:	6a 01                	push   $0x1
454484:	53                   	push   %ebx
454485:	53                   	push   %ebx
454486:	eb 0a                	jmp    0x454492
454488:	53                   	push   %ebx
454489:	68 ef be ad de       	push   $0xdeadbeef
45448e:	6a 2a                	push   $0x2a
454490:	8b ce                	mov    %esi,%ecx
454492:	e8 bb 0b 00 00       	call   0x455052
454497:	8a d8                	mov    %al,%bl
454499:	85 ff                	test   %edi,%edi
45449b:	74 07                	je     0x4544a4
45449d:	57                   	push   %edi
45449e:	ff 15 68 d7 48 00    	call   *0x48d768
4544a4:	5f                   	pop    %edi
4544a5:	5e                   	pop    %esi
4544a6:	8a c3                	mov    %bl,%al
4544a8:	5b                   	pop    %ebx
4544a9:	c9                   	leave
4544aa:	c2 08 00             	ret    $0x8
4544ad:	55                   	push   %ebp
4544ae:	8b ec                	mov    %esp,%ebp
4544b0:	8b 55 08             	mov    0x8(%ebp),%edx
4544b3:	83 c1 44             	add    $0x44,%ecx
4544b6:	e8 43 0c 00 00       	call   0x4550fe
4544bb:	33 c0                	xor    %eax,%eax
4544bd:	5d                   	pop    %ebp
4544be:	c2 08 00             	ret    $0x8
4544c1:	55                   	push   %ebp
4544c2:	8b ec                	mov    %esp,%ebp
4544c4:	83 ec 7c             	sub    $0x7c,%esp
4544c7:	53                   	push   %ebx
4544c8:	56                   	push   %esi
4544c9:	57                   	push   %edi
4544ca:	8b f9                	mov    %ecx,%edi
4544cc:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
4544cf:	e8 4f fc ff ff       	call   0x454123
4544d4:	8d 45 84             	lea    -0x7c(%ebp),%eax
4544d7:	50                   	push   %eax
4544d8:	ff 77 20             	push   0x20(%edi)
4544db:	e8 a0 0c 00 00       	call   0x455180
4544e0:	84 c0                	test   %al,%al
4544e2:	75 12                	jne    0x4544f6
4544e4:	6a 00                	push   $0x0
4544e6:	68 ef be ad de       	push   $0xdeadbeef
4544eb:	6a 01                	push   $0x1
4544ed:	8b cf                	mov    %edi,%ecx
4544ef:	e8 5e 0b 00 00       	call   0x455052
4544f4:	eb 7c                	jmp    0x454572
4544f6:	8b 75 f4             	mov    -0xc(%ebp),%esi
4544f9:	83 fe 03             	cmp    $0x3,%esi
4544fc:	74 10                	je     0x45450e
4544fe:	83 fe 01             	cmp    $0x1,%esi
454501:	74 0b                	je     0x45450e
454503:	6a 00                	push   $0x0
454505:	68 ef be ad de       	push   $0xdeadbeef
45450a:	6a 02                	push   $0x2
45450c:	eb df                	jmp    0x4544ed
45450e:	56                   	push   %esi
45450f:	8b cf                	mov    %edi,%ecx
454511:	e8 89 08 00 00       	call   0x454d9f
454516:	84 c0                	test   %al,%al
454518:	75 0b                	jne    0x454525
45451a:	6a 00                	push   $0x0
45451c:	68 ef be ad de       	push   $0xdeadbeef
454521:	6a 03                	push   $0x3
454523:	eb c8                	jmp    0x4544ed
454525:	4e                   	dec    %esi
454526:	74 2c                	je     0x454554
454528:	4e                   	dec    %esi