4182c9:	0f 85 cd ab 00 00    	jne    0x422e9c
4182cf:	33 c9                	xor    %ecx,%ecx
4182d1:	89 7d fc             	mov    %edi,-0x4(%ebp)
4182d4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4182d7:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi
4182dd:	6a 02                	push   $0x2
4182df:	5a                   	pop    %edx
4182e0:	f7 e2                	mul    %edx
4182e2:	0f 90 c1             	seto   %cl
4182e5:	f7 d9                	neg    %ecx
4182e7:	0b c8                	or     %eax,%ecx
4182e9:	51                   	push   %ecx
4182ea:	8b ce                	mov    %esi,%ecx
4182ec:	ff 15 20 a5 43 00    	call   *0x43a520
4182f2:	ff d6                	call   *%esi
4182f4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4182f8:	8b f0                	mov    %eax,%esi
4182fa:	85 f6                	test   %esi,%esi
4182fc:	74 5d                	je     0x41835b
4182fe:	ff 75 e8             	push   -0x18(%ebp)
418301:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418307:	89 03                	mov    %eax,(%ebx)
418309:	59                   	pop    %ecx
41830a:	85 c0                	test   %eax,%eax
41830c:	74 44                	je     0x418352
41830e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
418311:	51                   	push   %ecx
418312:	8d 4d ec             	lea    -0x14(%ebp),%ecx
418315:	51                   	push   %ecx
418316:	56                   	push   %esi
418317:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41831a:	51                   	push   %ecx
41831b:	50                   	push   %eax
41831c:	ff 75 d8             	push   -0x28(%ebp)
41831f:	57                   	push   %edi
418320:	ff 15 f0 a3 43 00    	call   *0x43a3f0
418326:	85 c0                	test   %eax,%eax
418328:	0f 84 56 ab 00 00    	je     0x422e84
41832e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
418331:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
418338:	56                   	push   %esi
418339:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
41833f:	8b ce                	mov    %esi,%ecx
418341:	ff 15 20 a5 43 00    	call   *0x43a520
418347:	ff d6                	call   *%esi
418349:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41834c:	e8 8b 2a 00 00       	call   0x41addc
418351:	c3                   	ret
418352:	c7 45 e4 0e 00 07 80 	movl   $0x8007000e,-0x1c(%ebp)
418359:	eb d6                	jmp    0x418331
41835b:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
418360:	eb ea                	jmp    0x41834c
418362:	8b ff                	mov    %edi,%edi
418364:	55                   	push   %ebp
418365:	8b ec                	mov    %esp,%ebp
418367:	51                   	push   %ecx
418368:	51                   	push   %ecx
418369:	56                   	push   %esi
41836a:	57                   	push   %edi
41836b:	8b f9                	mov    %ecx,%edi
41836d:	e8 84 03 00 00       	call   0x4186f6
418372:	8b f0                	mov    %eax,%esi
418374:	85 f6                	test   %esi,%esi
418376:	78 64                	js     0x4183dc
418378:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41837c:	8d 55 f8             	lea    -0x8(%ebp),%edx
41837f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
418383:	51                   	push   %ecx
418384:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418387:	e8 0f 03 00 00       	call   0x41869b
41838c:	8b f0                	mov    %eax,%esi
41838e:	66 81 fe f0 03       	cmp    $0x3f0,%si
418393:	75 0d                	jne    0x4183a2
418395:	8d 55 f8             	lea    -0x8(%ebp),%edx
418398:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41839b:	e8 19 01 00 00       	call   0x4184b9
4183a0:	8b f0                	mov    %eax,%esi
4183a2:	85 f6                	test   %esi,%esi
4183a4:	78 36                	js     0x4183dc
4183a6:	51                   	push   %ecx
4183a7:	ff 75 fc             	push   -0x4(%ebp)
4183aa:	8b cf                	mov    %edi,%ecx
4183ac:	e8 3c 00 00 00       	call   0x4183ed
4183b1:	8b f0                	mov    %eax,%esi
4183b3:	85 f6                	test   %esi,%esi
4183b5:	78 0d                	js     0x4183c4
4183b7:	51                   	push   %ecx
4183b8:	ff 75 f8             	push   -0x8(%ebp)
4183bb:	8b cf                	mov    %edi,%ecx
4183bd:	e8 91 00 00 00       	call   0x418453
4183c2:	8b f0                	mov    %eax,%esi
4183c4:	ff 75 fc             	push   -0x4(%ebp)
4183c7:	ff 15 14 a4 43 00    	call   *0x43a414
4183cd:	ff 75 f8             	push   -0x8(%ebp)
4183d0:	ff 15 14 a4 43 00    	call   *0x43a414
4183d6:	59                   	pop    %ecx
4183d7:	59                   	pop    %ecx
4183d8:	85 f6                	test   %esi,%esi
4183da:	78 08                	js     0x4183e4
4183dc:	5f                   	pop    %edi
4183dd:	8b c6                	mov    %esi,%eax
4183df:	5e                   	pop    %esi
4183e0:	c9                   	leave
4183e1:	c2 08 00             	ret    $0x8
4183e4:	8b cf                	mov    %edi,%ecx
4183e6:	e8 0b 03 00 00       	call   0x4186f6
4183eb:	eb ef                	jmp    0x4183dc
4183ed:	8b ff                	mov    %edi,%edi
4183ef:	55                   	push   %ebp
4183f0:	8b ec                	mov    %esp,%ebp
4183f2:	53                   	push   %ebx
4183f3:	56                   	push   %esi
4183f4:	57                   	push   %edi
4183f5:	33 ff                	xor    %edi,%edi
4183f7:	8b d9                	mov    %ecx,%ebx
4183f9:	57                   	push   %edi
4183fa:	57                   	push   %edi
4183fb:	ff 33                	push   (%ebx)
4183fd:	ff 15 a8 a3 43 00    	call   *0x43a3a8
418403:	85 c0                	test   %eax,%eax
418405:	74 43                	je     0x41844a
418407:	8d 73 04             	lea    0x4(%ebx),%esi
41840a:	ff 36                	push   (%esi)
41840c:	ff 15 14 a4 43 00    	call   *0x43a414
418412:	8b 55 08             	mov    0x8(%ebp),%edx
418415:	89 3e                	mov    %edi,(%esi)
418417:	59                   	pop    %ecx
418418:	85 d2                	test   %edx,%edx
41841a:	74 2a                	je     0x418446
41841c:	8b ce                	mov    %esi,%ecx
41841e:	e8 0d 02 00 00       	call   0x418630
418423:	8b f8                	mov    %eax,%edi
418425:	85 ff                	test   %edi,%edi
418427:	78 14                	js     0x41843d
418429:	6a 00                	push   $0x0
41842b:	ff 36                	push   (%esi)
41842d:	ff 33                	push   (%ebx)
41842f:	ff 15 a8 a3 43 00    	call   *0x43a3a8
418435:	85 c0                	test   %eax,%eax
418437:	0f 84 6b aa 00 00    	je     0x422ea8
41843d:	8b c7                	mov    %edi,%eax
41843f:	5f                   	pop    %edi
418440:	5e                   	pop    %esi
418441:	5b                   	pop    %ebx
418442:	5d                   	pop    %ebp
418443:	c2 08 00             	ret    $0x8
418446:	33 c0                	xor    %eax,%eax
418448:	eb f5                	jmp    0x41843f
41844a:	e8 94 02 00 00       	call   0x4186e3
41844f:	8b f8                	mov    %eax,%edi
418451:	eb ea                	jmp    0x41843d
418453:	8b ff                	mov    %edi,%edi
418455:	55                   	push   %ebp
418456:	8b ec                	mov    %esp,%ebp
418458:	53                   	push   %ebx
418459:	56                   	push   %esi
41845a:	57                   	push   %edi
41845b:	33 ff                	xor    %edi,%edi
41845d:	8b d9                	mov    %ecx,%ebx
41845f:	57                   	push   %edi
418460:	57                   	push   %edi
418461:	ff 33                	push   (%ebx)
418463:	ff 15 94 a3 43 00    	call   *0x43a394
418469:	85 c0                	test   %eax,%eax
41846b:	74 43                	je     0x4184b0
41846d:	8d 73 08             	lea    0x8(%ebx),%esi
418470:	ff 36                	push   (%esi)
418472:	ff 15 14 a4 43 00    	call   *0x43a414
418478:	8b 55 08             	mov    0x8(%ebp),%edx
41847b:	89 3e                	mov    %edi,(%esi)
41847d:	59                   	pop    %ecx
41847e:	85 d2                	test   %edx,%edx
418480:	74 2a                	je     0x4184ac
418482:	8b ce                	mov    %esi,%ecx
418484:	e8 a7 01 00 00       	call   0x418630
418489:	8b f8                	mov    %eax,%edi
41848b:	85 ff                	test   %edi,%edi
41848d:	78 14                	js     0x4184a3
41848f:	6a 00                	push   $0x0
418491:	ff 36                	push   (%esi)
418493:	ff 33                	push   (%ebx)
418495:	ff 15 94 a3 43 00    	call   *0x43a394
41849b:	85 c0                	test   %eax,%eax
41849d:	0f 84 1d aa 00 00    	je     0x422ec0
4184a3:	8b c7                	mov    %edi,%eax
4184a5:	5f                   	pop    %edi
4184a6:	5e                   	pop    %esi
4184a7:	5b                   	pop    %ebx
4184a8:	5d                   	pop    %ebp
4184a9:	c2 08 00             	ret    $0x8
4184ac:	33 c0                	xor    %eax,%eax
4184ae:	eb f5                	jmp    0x4184a5
4184b0:	e8 2e 02 00 00       	call   0x4186e3
4184b5:	8b f8                	mov    %eax,%edi
4184b7:	eb ea                	jmp    0x4184a3
4184b9:	8b ff                	mov    %edi,%edi
4184bb:	55                   	push   %ebp
4184bc:	8b ec                	mov    %esp,%ebp
4184be:	51                   	push   %ecx
4184bf:	56                   	push   %esi
4184c0:	57                   	push   %edi
4184c1:	8b f9                	mov    %ecx,%edi
4184c3:	33 c0                	xor    %eax,%eax
4184c5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4184c8:	8b f2                	mov    %edx,%esi
4184ca:	85 ff                	test   %edi,%edi
4184cc:	74 02                	je     0x4184d0
4184ce:	89 07                	mov    %eax,(%edi)
4184d0:	85 f6                	test   %esi,%esi
4184d2:	74 02                	je     0x4184d6
4184d4:	89 06                	mov    %eax,(%esi)
4184d6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4184d9:	50                   	push   %eax
4184da:	6a 08                	push   $0x8
4184dc:	ff 15 e8 a1 43 00    	call   *0x43a1e8
4184e2:	50                   	push   %eax
4184e3:	ff 15 ec a1 43 00    	call   *0x43a1ec
4184e9:	85 c0                	test   %eax,%eax
4184eb:	74 1c                	je     0x418509
4184ed:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4184f0:	8b d7                	mov    %edi,%edx
4184f2:	56                   	push   %esi
4184f3:	e8 1a 00 00 00       	call   0x418512
4184f8:	ff 75 fc             	push   -0x4(%ebp)
4184fb:	8b f0                	mov    %eax,%esi
4184fd:	ff 15 10 a1 43 00    	call   *0x43a110
418503:	5f                   	pop    %edi
418504:	8b c6                	mov    %esi,%eax
418506:	5e                   	pop    %esi
418507:	c9                   	leave
418508:	c3                   	ret
418509:	e8 d5 01 00 00       	call   0x4186e3
41850e:	8b f0                	mov    %eax,%esi
418510:	eb f1                	jmp    0x418503
418512:	8b ff                	mov    %edi,%edi
418514:	55                   	push   %ebp
418515:	8b ec                	mov    %esp,%ebp
418517:	83 ec 0c             	sub    $0xc,%esp
41851a:	53                   	push   %ebx
41851b:	8b da                	mov    %edx,%ebx
41851d:	8b c1                	mov    %ecx,%eax
41851f:	33 d2                	xor    %edx,%edx
418521:	89 45 f8             	mov    %eax,-0x8(%ebp)
418524:	89 55 fc             	mov    %edx,-0x4(%ebp)
418527:	56                   	push   %esi
418528:	8b f2                	mov    %edx,%esi
41852a:	57                   	push   %edi
41852b:	85 db                	test   %ebx,%ebx
41852d:	74 02                	je     0x418531
41852f:	89 13                	mov    %edx,(%ebx)
418531:	8b 7d 08             	mov    0x8(%ebp),%edi
418534:	85 ff                	test   %edi,%edi
418536:	74 02                	je     0x41853a
418538:	89 17                	mov    %edx,(%edi)
41853a:	85 db                	test   %ebx,%ebx
41853c:	74 72                	je     0x4185b0
41853e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418541:	51                   	push   %ecx
418542:	52                   	push   %edx
418543:	52                   	push   %edx
418544:	6a 01                	push   $0x1
418546:	50                   	push   %eax
418547:	ff 15 e0 a3 43 00    	call   *0x43a3e0
41854d:	ff 15 a8 a0 43 00    	call   *0x43a0a8
418553:	83 f8 7a             	cmp    $0x7a,%eax
418556:	0f 85 90 a9 00 00    	jne    0x422eec
41855c:	ff 75 fc             	push   -0x4(%ebp)
41855f:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418565:	8b f0                	mov    %eax,%esi
418567:	89 75 f4             	mov    %esi,-0xc(%ebp)
41856a:	59                   	pop    %ecx
41856b:	85 f6                	test   %esi,%esi
41856d:	0f 84 6f a9 00 00    	je     0x422ee2
418573:	8d 45 fc             	lea    -0x4(%ebp),%eax
418576:	50                   	push   %eax
418577:	ff 75 fc             	push   -0x4(%ebp)
41857a:	56                   	push   %esi
41857b:	6a 01                	push   $0x1
41857d:	ff 75 f8             	push   -0x8(%ebp)
418580:	ff 15 e0 a3 43 00    	call   *0x43a3e0
418586:	85 c0                	test   %eax,%eax
418588:	0f 84 4a a9 00 00    	je     0x422ed8
41858e:	8b 16                	mov    (%esi),%edx
418590:	8b cb                	mov    %ebx,%ecx
418592:	e8 99 00 00 00       	call   0x418630
418597:	ff 75 f4             	push   -0xc(%ebp)
41859a:	8b f0                	mov    %eax,%esi
41859c:	ff 15 14 a4 43 00    	call   *0x43a414
4185a2:	59                   	pop    %ecx
4185a3:	85 f6                	test   %esi,%esi
4185a5:	0f 88 5d a9 00 00    	js     0x422f08
4185ab:	8b 45 f8             	mov    -0x8(%ebp),%eax
4185ae:	33 d2                	xor    %edx,%edx
4185b0:	85 ff                	test   %edi,%edi
4185b2:	74 5d                	je     0x418611
4185b4:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4185b7:	51                   	push   %ecx
4185b8:	52                   	push   %edx
4185b9:	52                   	push   %edx
4185ba:	6a 05                	push   $0x5
4185bc:	50                   	push   %eax
4185bd:	ff 15 e0 a3 43 00    	call   *0x43a3e0
4185c3:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4185c9:	83 f8 7a             	cmp    $0x7a,%eax
4185cc:	0f 85 28 a9 00 00    	jne    0x422efa
4185d2:	ff 75 fc             	push   -0x4(%ebp)
4185d5:	ff 15 e4 a4 43 00    	call   *0x43a4e4
4185db:	8b f0                	mov    %eax,%esi
4185dd:	89 75 f4             	mov    %esi,-0xc(%ebp)
4185e0:	59                   	pop    %ecx
4185e1:	85 f6                	test   %esi,%esi
4185e3:	74 44                	je     0x418629
4185e5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4185e8:	50                   	push   %eax
4185e9:	ff 75 fc             	push   -0x4(%ebp)
4185ec:	56                   	push   %esi
4185ed:	6a 05                	push   $0x5
4185ef:	ff 75 f8             	push   -0x8(%ebp)
4185f2:	ff 15 e0 a3 43 00    	call   *0x43a3e0
4185f8:	85 c0                	test   %eax,%eax
4185fa:	74 26                	je     0x418622
4185fc:	8b 16                	mov    (%esi),%edx
4185fe:	8b cf                	mov    %edi,%ecx
418600:	e8 2b 00 00 00       	call   0x418630
418605:	ff 75 f4             	push   -0xc(%ebp)
418608:	8b f0                	mov    %eax,%esi
41860a:	ff 15 14 a4 43 00    	call   *0x43a414
418610:	59                   	pop    %ecx
418611:	85 f6                	test   %esi,%esi
418613:	0f 88 ef a8 00 00    	js     0x422f08
418619:	5f                   	pop    %edi
41861a:	8b c6                	mov    %esi,%eax
41861c:	5e                   	pop    %esi
41861d:	5b                   	pop    %ebx
41861e:	c9                   	leave
41861f:	c2 04 00             	ret    $0x4
418622:	e8 bc 00 00 00       	call   0x4186e3
418627:	eb dc                	jmp    0x418605
418629:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41862e:	eb e1                	jmp    0x418611
418630:	8b ff                	mov    %edi,%edi
418632:	55                   	push   %ebp
418633:	8b ec                	mov    %esp,%ebp
418635:	51                   	push   %ecx
418636:	53                   	push   %ebx
418637:	56                   	push   %esi
418638:	8b f1                	mov    %ecx,%esi
41863a:	33 db                	xor    %ebx,%ebx
41863c:	57                   	push   %edi
41863d:	8b fa                	mov    %edx,%edi