410155:	74 40                	je     0x410197
410157:	ff 77 7c             	push   0x7c(%edi)
41015a:	68 48 0e 45 00       	push   $0x450e48
41015f:	ff 75 fc             	push   -0x4(%ebp)
410162:	e8 2b 12 03 00       	call   0x441392
410167:	8b f0                	mov    %eax,%esi
410169:	85 f6                	test   %esi,%esi
41016b:	79 0a                	jns    0x410177
41016d:	68 48 0e 45 00       	push   $0x450e48
410172:	e9 23 02 00 00       	jmp    0x41039a
410177:	ff 77 7c             	push   0x7c(%edi)
41017a:	68 6c 0e 45 00       	push   $0x450e6c
41017f:	ff 75 fc             	push   -0x4(%ebp)
410182:	e8 0b 12 03 00       	call   0x441392
410187:	8b f0                	mov    %eax,%esi
410189:	85 f6                	test   %esi,%esi
41018b:	79 0a                	jns    0x410197
41018d:	68 6c 0e 45 00       	push   $0x450e6c
410192:	e9 03 02 00 00       	jmp    0x41039a
410197:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
41019d:	85 c0                	test   %eax,%eax
41019f:	74 1e                	je     0x4101bf
4101a1:	50                   	push   %eax
4101a2:	68 88 0e 45 00       	push   $0x450e88
4101a7:	ff 75 fc             	push   -0x4(%ebp)
4101aa:	e8 e3 11 03 00       	call   0x441392
4101af:	8b f0                	mov    %eax,%esi
4101b1:	85 f6                	test   %esi,%esi
4101b3:	79 0a                	jns    0x4101bf
4101b5:	68 88 0e 45 00       	push   $0x450e88
4101ba:	e9 db 01 00 00       	jmp    0x41039a
4101bf:	8b 87 84 00 00 00    	mov    0x84(%edi),%eax
4101c5:	85 c0                	test   %eax,%eax
4101c7:	74 1e                	je     0x4101e7
4101c9:	50                   	push   %eax
4101ca:	68 9c 0e 45 00       	push   $0x450e9c
4101cf:	ff 75 fc             	push   -0x4(%ebp)
4101d2:	e8 bb 11 03 00       	call   0x441392
4101d7:	8b f0                	mov    %eax,%esi
4101d9:	85 f6                	test   %esi,%esi
4101db:	79 0a                	jns    0x4101e7
4101dd:	68 9c 0e 45 00       	push   $0x450e9c
4101e2:	e9 b3 01 00 00       	jmp    0x41039a
4101e7:	8b 87 88 00 00 00    	mov    0x88(%edi),%eax
4101ed:	83 f8 01             	cmp    $0x1,%eax
4101f0:	75 1e                	jne    0x410210
4101f2:	50                   	push   %eax
4101f3:	68 ac 0e 45 00       	push   $0x450eac
4101f8:	ff 75 fc             	push   -0x4(%ebp)
4101fb:	e8 44 11 03 00       	call   0x441344
410200:	8b f0                	mov    %eax,%esi
410202:	85 f6                	test   %esi,%esi
410204:	79 56                	jns    0x41025c
410206:	68 ac 0e 45 00       	push   $0x450eac
41020b:	e9 8a 01 00 00       	jmp    0x41039a
410210:	83 f8 02             	cmp    $0x2,%eax
410213:	74 47                	je     0x41025c
410215:	ff 77 54             	push   0x54(%edi)
410218:	68 94 17 45 00       	push   $0x451794
41021d:	68 c0 0e 45 00       	push   $0x450ec0
410222:	ff 75 fc             	push   -0x4(%ebp)
410225:	e8 5d 13 03 00       	call   0x441587
41022a:	8b f0                	mov    %eax,%esi
41022c:	83 c4 10             	add    $0x10,%esp
41022f:	85 f6                	test   %esi,%esi
410231:	79 0a                	jns    0x41023d
410233:	68 c0 0e 45 00       	push   $0x450ec0
410238:	e9 5d 01 00 00       	jmp    0x41039a
41023d:	6a 01                	push   $0x1
41023f:	68 d8 0e 45 00       	push   $0x450ed8
410244:	ff 75 fc             	push   -0x4(%ebp)
410247:	e8 f8 10 03 00       	call   0x441344
41024c:	8b f0                	mov    %eax,%esi
41024e:	85 f6                	test   %esi,%esi
410250:	79 0a                	jns    0x41025c
410252:	68 d8 0e 45 00       	push   $0x450ed8
410257:	e9 3e 01 00 00       	jmp    0x41039a
41025c:	83 bf 8c 00 00 00 00 	cmpl   $0x0,0x8c(%edi)
410263:	74 23                	je     0x410288
410265:	ff b7 90 00 00 00    	push   0x90(%edi)
41026b:	68 fc 0e 45 00       	push   $0x450efc
410270:	ff 75 fc             	push   -0x4(%ebp)
410273:	e8 cc 10 03 00       	call   0x441344
410278:	8b f0                	mov    %eax,%esi
41027a:	85 f6                	test   %esi,%esi
41027c:	79 0a                	jns    0x410288
41027e:	68 fc 0e 45 00       	push   $0x450efc
410283:	e9 12 01 00 00       	jmp    0x41039a
410288:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
41028c:	75 1f                	jne    0x4102ad
41028e:	6a 01                	push   $0x1
410290:	68 10 0f 45 00       	push   $0x450f10
410295:	ff 75 fc             	push   -0x4(%ebp)
410298:	e8 a7 10 03 00       	call   0x441344
41029d:	8b f0                	mov    %eax,%esi
41029f:	85 f6                	test   %esi,%esi
4102a1:	79 0a                	jns    0x4102ad
4102a3:	68 10 0f 45 00       	push   $0x450f10
4102a8:	e9 ed 00 00 00       	jmp    0x41039a
4102ad:	ff 77 54             	push   0x54(%edi)
4102b0:	68 b0 17 45 00       	push   $0x4517b0
4102b5:	68 30 0f 45 00       	push   $0x450f30
4102ba:	ff 75 fc             	push   -0x4(%ebp)
4102bd:	e8 c5 12 03 00       	call   0x441587
4102c2:	8b f0                	mov    %eax,%esi
4102c4:	83 c4 10             	add    $0x10,%esp
4102c7:	85 f6                	test   %esi,%esi
4102c9:	79 0a                	jns    0x4102d5
4102cb:	68 30 0f 45 00       	push   $0x450f30
4102d0:	e9 c5 00 00 00       	jmp    0x41039a
4102d5:	83 bf 88 00 00 00 02 	cmpl   $0x2,0x88(%edi)
4102dc:	b9 f0 17 45 00       	mov    $0x4517f0,%ecx
4102e1:	b8 e0 17 45 00       	mov    $0x4517e0,%eax
4102e6:	0f 45 c1             	cmovne %ecx,%eax
4102e9:	50                   	push   %eax
4102ea:	ff 77 54             	push   0x54(%edi)
4102ed:	68 54 bc 44 00       	push   $0x44bc54
4102f2:	68 5c 0f 45 00       	push   $0x450f5c
4102f7:	ff 75 fc             	push   -0x4(%ebp)
4102fa:	e8 88 12 03 00       	call   0x441587
4102ff:	8b f0                	mov    %eax,%esi
410301:	83 c4 14             	add    $0x14,%esp
410304:	85 f6                	test   %esi,%esi
410306:	79 0a                	jns    0x410312
410308:	68 5c 0f 45 00       	push   $0x450f5c
41030d:	e9 88 00 00 00       	jmp    0x41039a
410312:	83 bf 98 00 00 00 00 	cmpl   $0x0,0x98(%edi)
410319:	74 1d                	je     0x410338
41031b:	8d 87 94 00 00 00    	lea    0x94(%edi),%eax
410321:	50                   	push   %eax
410322:	53                   	push   %ebx
410323:	e8 b4 ef ff ff       	call   0x40f2dc
410328:	8b f0                	mov    %eax,%esi
41032a:	85 f6                	test   %esi,%esi
41032c:	79 0a                	jns    0x410338
41032e:	68 08 18 45 00       	push   $0x451808
410333:	e9 a3 00 00 00       	jmp    0x4103db
410338:	83 bf 9c 00 00 00 00 	cmpl   $0x0,0x9c(%edi)
41033f:	74 17                	je     0x410358
410341:	53                   	push   %ebx
410342:	57                   	push   %edi
410343:	e8 c8 f0 ff ff       	call   0x40f410
410348:	8b f0                	mov    %eax,%esi
41034a:	85 f6                	test   %esi,%esi
41034c:	79 0a                	jns    0x410358
41034e:	68 28 18 45 00       	push   $0x451828
410353:	e9 83 00 00 00       	jmp    0x4103db
410358:	f6 45 18 04          	testb  $0x4,0x18(%ebp)
41035c:	74 4c                	je     0x4103aa
41035e:	8b 4d 20             	mov    0x20(%ebp),%ecx
410361:	8b 45 24             	mov    0x24(%ebp),%eax
410364:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
410368:	c1 e8 0a             	shr    $0xa,%eax
41036b:	85 c0                	test   %eax,%eax
41036d:	72 3b                	jb     0x4103aa
41036f:	77 08                	ja     0x410379
410371:	85 c9                	test   %ecx,%ecx
410373:	74 35                	je     0x4103aa
410375:	85 c0                	test   %eax,%eax
410377:	72 09                	jb     0x410382
410379:	6a ff                	push   $0xffffffff
41037b:	58                   	pop    %eax
41037c:	77 06                	ja     0x410384
41037e:	3b c8                	cmp    %eax,%ecx
410380:	77 02                	ja     0x410384
410382:	8b c1                	mov    %ecx,%eax
410384:	50                   	push   %eax
410385:	bb b0 0d 45 00       	mov    $0x450db0,%ebx
41038a:	53                   	push   %ebx
41038b:	ff 75 fc             	push   -0x4(%ebp)
41038e:	e8 b1 0f 03 00       	call   0x441344
410393:	8b f0                	mov    %eax,%esi
410395:	85 f6                	test   %esi,%esi
410397:	79 11                	jns    0x4103aa
410399:	53                   	push   %ebx
41039a:	68 44 17 45 00       	push   $0x451744
41039f:	56                   	push   %esi
4103a0:	e8 8a fd 02 00       	call   0x44012f
4103a5:	83 c4 0c             	add    $0xc,%esp
4103a8:	eb 39                	jmp    0x4103e3
4103aa:	83 7d 1c 01          	cmpl   $0x1,0x1c(%ebp)
4103ae:	75 13                	jne    0x4103c3
4103b0:	57                   	push   %edi
4103b1:	e8 a0 7f 01 00       	call   0x428356
4103b6:	8b f0                	mov    %eax,%esi
4103b8:	85 f6                	test   %esi,%esi
4103ba:	79 07                	jns    0x4103c3
4103bc:	68 50 18 45 00       	push   $0x451850
4103c1:	eb 18                	jmp    0x4103db
4103c3:	6a 00                	push   $0x0
4103c5:	6a 01                	push   $0x1
4103c7:	ff 75 fc             	push   -0x4(%ebp)
4103ca:	57                   	push   %edi
4103cb:	e8 cd ec ff ff       	call   0x40f09d
4103d0:	8b f0                	mov    %eax,%esi
4103d2:	85 f6                	test   %esi,%esi
4103d4:	79 0d                	jns    0x4103e3
4103d6:	68 80 18 45 00       	push   $0x451880
4103db:	56                   	push   %esi
4103dc:	e8 4e fd 02 00       	call   0x44012f
4103e1:	59                   	pop    %ecx
4103e2:	59                   	pop    %ecx
4103e3:	5b                   	pop    %ebx
4103e4:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4103e8:	74 08                	je     0x4103f2
4103ea:	ff 75 f8             	push   -0x8(%ebp)
4103ed:	e8 fd 50 03 00       	call   0x4454ef
4103f2:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4103f6:	74 08                	je     0x410400
4103f8:	ff 75 f4             	push   -0xc(%ebp)
4103fb:	e8 ef 50 03 00       	call   0x4454ef
410400:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
410404:	74 09                	je     0x41040f
410406:	ff 75 fc             	push   -0x4(%ebp)
410409:	ff 15 00 b0 44 00    	call   *0x44b000
41040f:	5f                   	pop    %edi
410410:	8b c6                	mov    %esi,%eax
410412:	5e                   	pop    %esi
410413:	8b e5                	mov    %ebp,%esp
410415:	5d                   	pop    %ebp
410416:	c2 20 00             	ret    $0x20
410419:	55                   	push   %ebp
41041a:	8b ec                	mov    %esp,%ebp
41041c:	83 ec 0c             	sub    $0xc,%esp
41041f:	56                   	push   %esi
410420:	8b 75 08             	mov    0x8(%ebp),%esi
410423:	57                   	push   %edi
410424:	33 ff                	xor    %edi,%edi
410426:	89 7d f4             	mov    %edi,-0xc(%ebp)
410429:	ff 76 08             	push   0x8(%esi)
41042c:	89 7d f8             	mov    %edi,-0x8(%ebp)
41042f:	89 7d fc             	mov    %edi,-0x4(%ebp)
410432:	e8 f9 37 00 00       	call   0x413c30
410437:	50                   	push   %eax
410438:	ff 75 14             	push   0x14(%ebp)
41043b:	e8 e4 3d 00 00       	call   0x414224
410440:	50                   	push   %eax
410441:	ff 75 10             	push   0x10(%ebp)
410444:	e8 0e 3e 00 00       	call   0x414257
410449:	50                   	push   %eax
41044a:	ff 76 50             	push   0x50(%esi)
41044d:	68 74 01 00 20       	push   $0x20000174
410452:	6a 02                	push   $0x2
410454:	e8 b6 50 ff ff       	call   0x40550f
410459:	83 c4 18             	add    $0x18,%esp
41045c:	39 7d 14             	cmp    %edi,0x14(%ebp)
41045f:	74 41                	je     0x4104a2
410461:	ff 76 50             	push   0x50(%esi)
410464:	8d 45 f4             	lea    -0xc(%ebp),%eax
410467:	68 3c 0d 45 00       	push   $0x450d3c
41046c:	50                   	push   %eax
41046d:	e8 ae 1a ff ff       	call   0x401f20
410472:	83 c4 0c             	add    $0xc,%esp
410475:	85 c0                	test   %eax,%eax
410477:	78 1c                	js     0x410495
410479:	57                   	push   %edi
41047a:	8d 45 f8             	lea    -0x8(%ebp),%eax
41047d:	50                   	push   %eax
41047e:	57                   	push   %edi
41047f:	6a 01                	push   $0x1
410481:	68 06 00 02 00       	push   $0x20006
410486:	ff 75 f4             	push   -0xc(%ebp)
410489:	ff 76 4c             	push   0x4c(%esi)
41048c:	e8 44 06 03 00       	call   0x440ad5
410491:	85 c0                	test   %eax,%eax
410493:	79 0d                	jns    0x4104a2
410495:	68 a0 18 45 00       	push   $0x4518a0
41049a:	50                   	push   %eax
41049b:	e8 8f fc 02 00       	call   0x44012f
4104a0:	59                   	pop    %ecx
4104a1:	59                   	pop    %ecx
4104a2:	39 7d 10             	cmp    %edi,0x10(%ebp)
4104a5:	0f 85 cc 00 00 00    	jne    0x410577
4104ab:	83 7d 18 01          	cmpl   $0x1,0x18(%ebp)
4104af:	74 06                	je     0x4104b7
4104b1:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
4104b5:	75 06                	jne    0x4104bd
4104b7:	56                   	push   %esi
4104b8:	e8 52 7f 01 00       	call   0x42840f
4104bd:	39 be 9c 00 00 00    	cmp    %edi,0x9c(%esi)
4104c3:	74 06                	je     0x4104cb
4104c5:	56                   	push   %esi
4104c6:	e8 2e ea ff ff       	call   0x40eef9
4104cb:	8d 86 94 00 00 00    	lea    0x94(%esi),%eax
4104d1:	50                   	push   %eax
4104d2:	ff 75 0c             	push   0xc(%ebp)
4104d5:	e8 35 e9 ff ff       	call   0x40ee0f
4104da:	57                   	push   %edi
4104db:	57                   	push   %edi
4104dc:	ff 76 50             	push   0x50(%esi)
4104df:	ff 76 4c             	push   0x4c(%esi)
4104e2:	e8 62 06 03 00       	call   0x440b49
4104e7:	8b f8                	mov    %eax,%edi
4104e9:	81 ff 02 00 07 80    	cmp    $0x80070002,%edi
4104ef:	74 17                	je     0x410508
4104f1:	85 ff                	test   %edi,%edi
4104f3:	79 13                	jns    0x410508
4104f5:	ff 76 50             	push   0x50(%esi)
4104f8:	68 d8 18 45 00       	push   $0x4518d8
4104fd:	57                   	push   %edi
4104fe:	e8 2c fc 02 00       	call   0x44012f
410503:	83 c4 0c             	add    $0xc,%esp
410506:	eb 33                	jmp    0x41053b
410508:	ff 76 10             	push   0x10(%esi)
41050b:	ff 36                	push   (%esi)
41050d:	e8 5a a1 00 00       	call   0x41a66c
410512:	33 c0                	xor    %eax,%eax
410514:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
410518:	0f 94 c0             	sete   %al
41051b:	50                   	push   %eax
41051c:	ff 75 10             	push   0x10(%ebp)
41051f:	ff 75 fc             	push   -0x4(%ebp)
410522:	56                   	push   %esi
410523:	e8 75 eb ff ff       	call   0x40f09d
410528:	8b f8                	mov    %eax,%edi
41052a:	85 ff                	test   %edi,%edi
41052c:	79 0d                	jns    0x41053b
41052e:	68 80 18 45 00       	push   $0x451880
410533:	57                   	push   %edi
410534:	e8 f6 fb 02 00       	call   0x44012f
410539:	59                   	pop    %ecx
41053a:	59                   	pop    %ecx
41053b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41053f:	8b 35 00 b0 44 00    	mov    0x44b000,%esi
410545:	74 09                	je     0x410550
410547:	ff 75 fc             	push   -0x4(%ebp)
41054a:	ff d6                	call   *%esi
41054c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
410550:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
410554:	74 09                	je     0x41055f
410556:	ff 75 f8             	push   -0x8(%ebp)
410559:	ff d6                	call   *%esi
41055b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41055f:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
410563:	74 08                	je     0x41056d
410565:	ff 75 f4             	push   -0xc(%ebp)
410568:	e8 82 4f 03 00       	call   0x4454ef
41056d:	8b c7                	mov    %edi,%eax
41056f:	5f                   	pop    %edi
410570:	5e                   	pop    %esi
410571:	8b e5                	mov    %ebp,%esp
410573:	5d                   	pop    %ebp
410574:	c2 14 00             	ret    $0x14
410577:	8d 45 fc             	lea    -0x4(%ebp),%eax
41057a:	50                   	push   %eax
41057b:	68 06 00 02 00       	push   $0x20006
410580:	ff 76 50             	push   0x50(%esi)
410583:	ff 76 4c             	push   0x4c(%esi)
410586:	e8 b4 08 03 00       	call   0x440e3f
41058b:	8b f8                	mov    %eax,%edi