a3636e:	99                   	cltd
a3636f:	2b c2                	sub    %edx,%eax
a36371:	d1 f8                	sar    $1,%eax
a36373:	83 bf 48 01 00 00 02 	cmpl   $0x2,0x148(%edi)
a3637a:	89 87 4c 01 00 00    	mov    %eax,0x14c(%edi)
a36380:	8b 06                	mov    (%esi),%eax
a36382:	75 0a                	jne    0xa3638e
a36384:	83 e8 18             	sub    $0x18,%eax
a36387:	99                   	cltd
a36388:	2b c2                	sub    %edx,%eax
a3638a:	d1 f8                	sar    $1,%eax
a3638c:	eb 03                	jmp    0xa36391
a3638e:	83 e8 10             	sub    $0x10,%eax
a36391:	83 46 04 f0          	addl   $0xfffffff0,0x4(%esi)
a36395:	89 06                	mov    %eax,(%esi)
a36397:	8b c6                	mov    %esi,%eax
a36399:	5f                   	pop    %edi
a3639a:	5e                   	pop    %esi
a3639b:	5b                   	pop    %ebx
a3639c:	8b e5                	mov    %ebp,%esp
a3639e:	5d                   	pop    %ebp
a3639f:	c2 04 00             	ret    $0x4
a363a2:	cc                   	int3
a363a3:	cc                   	int3
a363a4:	cc                   	int3
a363a5:	cc                   	int3
a363a6:	cc                   	int3
a363a7:	cc                   	int3
a363a8:	cc                   	int3
a363a9:	cc                   	int3
a363aa:	cc                   	int3
a363ab:	cc                   	int3
a363ac:	cc                   	int3
a363ad:	cc                   	int3
a363ae:	cc                   	int3
a363af:	cc                   	int3
a363b0:	cc                   	int3
a363b1:	cc                   	int3
a363b2:	cc                   	int3
a363b3:	cc                   	int3
a363b4:	cc                   	int3
a363b5:	cc                   	int3
a363b6:	cc                   	int3
a363b7:	cc                   	int3
a363b8:	cc                   	int3
a363b9:	cc                   	int3
a363ba:	cc                   	int3
a363bb:	cc                   	int3
a363bc:	cc                   	int3
a363bd:	cc                   	int3
a363be:	cc                   	int3
a363bf:	cc                   	int3
a363c0:	cc                   	int3
a363c1:	cc                   	int3
a363c2:	cc                   	int3
a363c3:	cc                   	int3
a363c4:	cc                   	int3
a363c5:	55                   	push   %ebp
a363c6:	8b ec                	mov    %esp,%ebp
a363c8:	56                   	push   %esi
a363c9:	8b 75 10             	mov    0x10(%ebp),%esi
a363cc:	57                   	push   %edi
a363cd:	8b 7d 18             	mov    0x18(%ebp),%edi
a363d0:	57                   	push   %edi
a363d1:	56                   	push   %esi
a363d2:	ff 75 14             	push   0x14(%ebp)
a363d5:	ff 15 64 37 d8 00    	call   *0xd83764
a363db:	3b 45 0c             	cmp    0xc(%ebp),%eax
a363de:	7e 06                	jle    0xa363e6
a363e0:	8b 75 0c             	mov    0xc(%ebp),%esi
a363e3:	8b 7d 14             	mov    0x14(%ebp),%edi
a363e6:	8b 45 08             	mov    0x8(%ebp),%eax
a363e9:	89 78 04             	mov    %edi,0x4(%eax)
a363ec:	5f                   	pop    %edi
a363ed:	89 30                	mov    %esi,(%eax)
a363ef:	5e                   	pop    %esi
a363f0:	5d                   	pop    %ebp
a363f1:	c2 14 00             	ret    $0x14
a363f4:	cc                   	int3
a363f5:	cc                   	int3
a363f6:	cc                   	int3
a363f7:	cc                   	int3
a363f8:	cc                   	int3
a363f9:	cc                   	int3
a363fa:	cc                   	int3
a363fb:	cc                   	int3
a363fc:	cc                   	int3
a363fd:	cc                   	int3
a363fe:	cc                   	int3
a363ff:	6a 04                	push   $0x4
a36401:	b8 2b 9b bb 00       	mov    $0xbb9b2b,%eax
a36406:	e8 80 3e 9d ff       	call   0x40a28b
a3640b:	68 68 01 00 00       	push   $0x168
a36410:	e8 68 45 9f ff       	call   0x42a97d
a36415:	59                   	pop    %ecx
a36416:	8b c8                	mov    %eax,%ecx
a36418:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a3641b:	33 c0                	xor    %eax,%eax
a3641d:	89 45 fc             	mov    %eax,-0x4(%ebp)
a36420:	85 c9                	test   %ecx,%ecx
a36422:	74 05                	je     0xa36429
a36424:	e8 cb b6 9d ff       	call   0x411af4
a36429:	e8 e9 7f 9d ff       	call   0x40e417
a3642e:	c3                   	ret
a3642f:	cc                   	int3
a36430:	cc                   	int3
a36431:	cc                   	int3
a36432:	cc                   	int3
a36433:	cc                   	int3
a36434:	cc                   	int3
a36435:	cc                   	int3
a36436:	cc                   	int3
a36437:	cc                   	int3
a36438:	cc                   	int3
a36439:	cc                   	int3
a3643a:	cc                   	int3
a3643b:	55                   	push   %ebp
a3643c:	8b ec                	mov    %esp,%ebp
a3643e:	6a 02                	push   $0x2
a36440:	ff 75 08             	push   0x8(%ebp)
a36443:	ff 71 08             	push   0x8(%ecx)
a36446:	ff 15 4c 33 d8 00    	call   *0xd8334c
a3644c:	5d                   	pop    %ebp
a3644d:	c2 04 00             	ret    $0x4
a36450:	cc                   	int3
a36451:	cc                   	int3
a36452:	cc                   	int3
a36453:	cc                   	int3
a36454:	cc                   	int3
a36455:	6a 4c                	push   $0x4c
a36457:	b8 60 9b bb 00       	mov    $0xbb9b60,%eax
a3645c:	e8 04 bc 9f ff       	call   0x432065
a36461:	8b d9                	mov    %ecx,%ebx
a36463:	89 5d bc             	mov    %ebx,-0x44(%ebp)
a36466:	8b 45 10             	mov    0x10(%ebp),%eax
a36469:	8b 75 14             	mov    0x14(%ebp),%esi
a3646c:	89 45 cc             	mov    %eax,-0x34(%ebp)
a3646f:	89 75 c0             	mov    %esi,-0x40(%ebp)
a36472:	e8 4c 4b 9e ff       	call   0x41afc3
a36477:	8b f8                	mov    %eax,%edi
a36479:	57                   	push   %edi
a3647a:	68 e4 9e c4 00       	push   $0xc49ee4
a3647f:	89 7d c4             	mov    %edi,-0x3c(%ebp)
a36482:	e8 83 fb 9c ff       	call   0x40600a
a36487:	59                   	pop    %ecx
a36488:	59                   	pop    %ecx
a36489:	85 c0                	test   %eax,%eax
a3648b:	75 0a                	jne    0xa36497
a3648d:	e8 93 4b a0 ff       	call   0x43b025
a36492:	8b f8                	mov    %eax,%edi
a36494:	89 45 c4             	mov    %eax,-0x3c(%ebp)
a36497:	6a 14                	push   $0x14
a36499:	8d 45 a8             	lea    -0x58(%ebp),%eax
a3649c:	6a 00                	push   $0x0
a3649e:	50                   	push   %eax
a3649f:	e8 14 e3 9d ff       	call   0x4147b8
a364a4:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
a364aa:	83 c4 0c             	add    $0xc,%esp
a364ad:	8b 4d cc             	mov    -0x34(%ebp),%ecx
a364b0:	89 7d b8             	mov    %edi,-0x48(%ebp)
a364b3:	89 45 ac             	mov    %eax,-0x54(%ebp)
a364b6:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
a364b9:	e8 57 59 9d ff       	call   0x40be15
a364be:	8b d8                	mov    %eax,%ebx
a364c0:	85 db                	test   %ebx,%ebx
a364c2:	75 07                	jne    0xa364cb
a364c4:	33 c0                	xor    %eax,%eax
a364c6:	e9 36 03 00 00       	jmp    0xa36801
a364cb:	89 b3 d8 00 00 00    	mov    %esi,0xd8(%ebx)
a364d1:	8b 07                	mov    (%edi),%eax
a364d3:	56                   	push   %esi
a364d4:	6a 01                	push   $0x1
a364d6:	8b b0 94 01 00 00    	mov    0x194(%eax),%esi
a364dc:	8b ce                	mov    %esi,%ecx
a364de:	e8 82 61 9f ff       	call   0x42c665
a364e3:	8b cf                	mov    %edi,%ecx
a364e5:	ff d6                	call   *%esi
a364e7:	68 d8 00 00 00       	push   $0xd8
a364ec:	e8 8c 44 9f ff       	call   0x42a97d
a364f1:	59                   	pop    %ecx
a364f2:	89 45 cc             	mov    %eax,-0x34(%ebp)
a364f5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a364f9:	85 c0                	test   %eax,%eax
a364fb:	74 09                	je     0xa36506
a364fd:	8b c8                	mov    %eax,%ecx
a364ff:	e8 3f 10 9f ff       	call   0x427543
a36504:	eb 02                	jmp    0xa36508
a36506:	33 c0                	xor    %eax,%eax
a36508:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
a3650c:	89 83 dc 00 00 00    	mov    %eax,0xdc(%ebx)
a36512:	8b 07                	mov    (%edi),%eax
a36514:	8b b0 70 01 00 00    	mov    0x170(%eax),%esi
a3651a:	8b ce                	mov    %esi,%ecx
a3651c:	e8 44 61 9f ff       	call   0x42c665
a36521:	8b cf                	mov    %edi,%ecx
a36523:	ff d6                	call   *%esi
a36525:	50                   	push   %eax
a36526:	68 5c 97 c6 00       	push   $0xc6975c
a3652b:	e8 da fa 9c ff       	call   0x40600a
a36530:	8b f0                	mov    %eax,%esi
a36532:	89 75 cc             	mov    %esi,-0x34(%ebp)
a36535:	59                   	pop    %ecx
a36536:	59                   	pop    %ecx
a36537:	85 f6                	test   %esi,%esi
a36539:	0f 84 8c 01 00 00    	je     0xa366cb
a3653f:	8b 45 bc             	mov    -0x44(%ebp),%eax
a36542:	ff b0 80 00 00 00    	push   0x80(%eax)
a36548:	68 f4 a0 c6 00       	push   $0xc6a0f4
a3654d:	e8 b8 fa 9c ff       	call   0x40600a
a36552:	59                   	pop    %ecx
a36553:	59                   	pop    %ecx
a36554:	8b c8                	mov    %eax,%ecx
a36556:	89 4d bc             	mov    %ecx,-0x44(%ebp)
a36559:	85 c9                	test   %ecx,%ecx
a3655b:	75 5a                	jne    0xa365b7
a3655d:	8b 07                	mov    (%edi),%eax
a3655f:	8b 4d c0             	mov    -0x40(%ebp),%ecx
a36562:	51                   	push   %ecx
a36563:	6a 00                	push   $0x0
a36565:	8b b0 94 01 00 00    	mov    0x194(%eax),%esi
a3656b:	8b ce                	mov    %esi,%ecx
a3656d:	e8 f3 60 9f ff       	call   0x42c665
a36572:	8b cf                	mov    %edi,%ecx
a36574:	ff d6                	call   *%esi
a36576:	8b bb dc 00 00 00    	mov    0xdc(%ebx),%edi
a3657c:	85 ff                	test   %edi,%edi
a3657e:	74 12                	je     0xa36592
a36580:	8b 07                	mov    (%edi),%eax
a36582:	6a 01                	push   $0x1
a36584:	8b 70 04             	mov    0x4(%eax),%esi
a36587:	8b ce                	mov    %esi,%ecx
a36589:	e8 d7 60 9f ff       	call   0x42c665
a3658e:	8b cf                	mov    %edi,%ecx
a36590:	ff d6                	call   *%esi
a36592:	83 a3 dc 00 00 00 00 	andl   $0x0,0xdc(%ebx)
a36599:	83 a3 d8 00 00 00 00 	andl   $0x0,0xd8(%ebx)
a365a0:	8b 03                	mov    (%ebx),%eax
a365a2:	6a 01                	push   $0x1
a365a4:	8b 70 04             	mov    0x4(%eax),%esi
a365a7:	8b ce                	mov    %esi,%ecx
a365a9:	e8 b7 60 9f ff       	call   0x42c665
a365ae:	8b cb                	mov    %ebx,%ecx
a365b0:	ff d6                	call   *%esi
a365b2:	e9 0d ff ff ff       	jmp    0xa364c4
a365b7:	8b 86 44 01 00 00    	mov    0x144(%esi),%eax
a365bd:	89 45 c8             	mov    %eax,-0x38(%ebp)
a365c0:	85 c0                	test   %eax,%eax
a365c2:	75 09                	jne    0xa365cd
a365c4:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
a365ca:	89 45 c8             	mov    %eax,-0x38(%ebp)
a365cd:	8b 01                	mov    (%ecx),%eax
a365cf:	6a 00                	push   $0x0
a365d1:	8b b0 70 01 00 00    	mov    0x170(%eax),%esi
a365d7:	8b ce                	mov    %esi,%ecx
a365d9:	e8 87 60 9f ff       	call   0x42c665
a365de:	8b 4d bc             	mov    -0x44(%ebp),%ecx
a365e1:	ff d6                	call   *%esi
a365e3:	8b 4d c8             	mov    -0x38(%ebp),%ecx
a365e6:	85 c9                	test   %ecx,%ecx
a365e8:	0f 84 6f ff ff ff    	je     0xa3655d
a365ee:	8b bb dc 00 00 00    	mov    0xdc(%ebx),%edi
a365f4:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
a365f8:	68 02 e8 00 00       	push   $0xe802
a365fd:	68 00 28 00 00       	push   $0x2800
a36602:	8b 37                	mov    (%edi),%esi
a36604:	50                   	push   %eax
a36605:	51                   	push   %ecx
a36606:	8b b6 a8 01 00 00    	mov    0x1a8(%esi),%esi
a3660c:	8b ce                	mov    %esi,%ecx
a3660e:	e8 52 60 9f ff       	call   0x42c665
a36613:	8b cf                	mov    %edi,%ecx
a36615:	ff d6                	call   *%esi
a36617:	85 c0                	test   %eax,%eax
a36619:	0f 84 a4 00 00 00    	je     0xa366c3
a3661f:	8b 83 dc 00 00 00    	mov    0xdc(%ebx),%eax
a36625:	33 f6                	xor    %esi,%esi
a36627:	8b 7d cc             	mov    -0x34(%ebp),%edi
a3662a:	46                   	inc    %esi
a3662b:	57                   	push   %edi
a3662c:	89 b0 84 00 00 00    	mov    %esi,0x84(%eax)
a36632:	8b 8b dc 00 00 00    	mov    0xdc(%ebx),%ecx
a36638:	e8 67 1d 9e ff       	call   0x4183a4
a3663d:	33 c0                	xor    %eax,%eax
a3663f:	89 45 e0             	mov    %eax,-0x20(%ebp)
a36642:	89 45 e4             	mov    %eax,-0x1c(%ebp)
a36645:	89 45 e8             	mov    %eax,-0x18(%ebp)
a36648:	89 45 ec             	mov    %eax,-0x14(%ebp)
a3664b:	89 45 cc             	mov    %eax,-0x34(%ebp)
a3664e:	89 45 c8             	mov    %eax,-0x38(%ebp)
a36651:	8d 45 c8             	lea    -0x38(%ebp),%eax
a36654:	89 75 fc             	mov    %esi,-0x4(%ebp)
a36657:	50                   	push   %eax
a36658:	8b cf                	mov    %edi,%ecx
a3665a:	e8 7b f5 9e ff       	call   0x425bda
a3665f:	85 c0                	test   %eax,%eax
a36661:	79 0e                	jns    0xa36671
a36663:	8d 45 c8             	lea    -0x38(%ebp),%eax
a36666:	8b cf                	mov    %edi,%ecx
a36668:	50                   	push   %eax
a36669:	e8 fe 80 9f ff       	call   0x42e76c
a3666e:	89 75 cc             	mov    %esi,-0x34(%ebp)
a36671:	8b 45 c8             	mov    -0x38(%ebp),%eax
a36674:	85 c0                	test   %eax,%eax
a36676:	74 37                	je     0xa366af
a36678:	8b 08                	mov    (%eax),%ecx
a3667a:	8d 55 e0             	lea    -0x20(%ebp),%edx
a3667d:	52                   	push   %edx
a3667e:	50                   	push   %eax
a3667f:	8b 71 14             	mov    0x14(%ecx),%esi
a36682:	8b ce                	mov    %esi,%ecx
a36684:	e8 dc 5f 9f ff       	call   0x42c665
a36689:	ff d6                	call   *%esi
a3668b:	8b 4d bc             	mov    -0x44(%ebp),%ecx
a3668e:	ff 75 cc             	push   -0x34(%ebp)
a36691:	ff 75 c8             	push   -0x38(%ebp)
a36694:	8b 01                	mov    (%ecx),%eax
a36696:	8d 4d e0             	lea    -0x20(%ebp),%ecx
a36699:	51                   	push   %ecx
a3669a:	8b b0 8c 01 00 00    	mov    0x18c(%eax),%esi
a366a0:	8b ce                	mov    %esi,%ecx
a366a2:	e8 be 5f 9f ff       	call   0x42c665
a366a7:	8b 4d bc             	mov    -0x44(%ebp),%ecx
a366aa:	ff d6                	call   *%esi
a366ac:	33 f6                	xor    %esi,%esi
a366ae:	46                   	inc    %esi
a366af:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
a366b3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
a366b6:	89 b7 8c 01 00 00    	mov    %esi,0x18c(%edi)
a366bc:	e8 83 c7 9e ff       	call   0x422e44
a366c1:	eb 47                	jmp    0xa3670a
a366c3:	8b 7d c4             	mov    -0x3c(%ebp),%edi
a366c6:	e9 92 fe ff ff       	jmp    0xa3655d
a366cb:	8b bb dc 00 00 00    	mov    0xdc(%ebx),%edi
a366d1:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
a366d5:	68 02 e8 00 00       	push   $0xe802
a366da:	68 00 28 00 00       	push   $0x2800
a366df:	8b 37                	mov    (%edi),%esi
a366e1:	50                   	push   %eax
a366e2:	ff 75 c4             	push   -0x3c(%ebp)
a366e5:	8b b6 a8 01 00 00    	mov    0x1a8(%esi),%esi
a366eb:	8b ce                	mov    %esi,%ecx
a366ed:	e8 73 5f 9f ff       	call   0x42c665
a366f2:	8b cf                	mov    %edi,%ecx
a366f4:	ff d6                	call   *%esi
a366f6:	85 c0                	test   %eax,%eax
a366f8:	74 c9                	je     0xa366c3
a366fa:	8b 83 dc 00 00 00    	mov    0xdc(%ebx),%eax
a36700:	c7 80 84 00 00 00 01 	movl   $0x1,0x84(%eax)
a36707:	00 00 00
a3670a:	8b 7d c4             	mov    -0x3c(%ebp),%edi