436299:	59                   	pop    %ecx
43629a:	85 c0                	test   %eax,%eax
43629c:	0f 85 b5 00 00 00    	jne    0x436357
4362a2:	6a 78                	push   $0x78
4362a4:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4362aa:	50                   	push   %eax
4362ab:	8b 43 60             	mov    0x60(%ebx),%eax
4362ae:	f7 d8                	neg    %eax
4362b0:	1b c0                	sbb    %eax,%eax
4362b2:	25 02 f0 ff ff       	and    $0xfffff002,%eax
4362b7:	05 01 10 00 00       	add    $0x1001,%eax
4362bc:	50                   	push   %eax
4362bd:	56                   	push   %esi
4362be:	ff 15 9c f1 43 00    	call   *0x43f19c
4362c4:	85 c0                	test   %eax,%eax
4362c6:	0f 84 91 01 00 00    	je     0x43645d
4362cc:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4362d2:	50                   	push   %eax
4362d3:	ff 73 50             	push   0x50(%ebx)
4362d6:	e8 a5 1c ff ff       	call   0x427f80
4362db:	59                   	pop    %ecx
4362dc:	59                   	pop    %ecx
4362dd:	8b 0f                	mov    (%edi),%ecx
4362df:	85 c0                	test   %eax,%eax
4362e1:	75 0d                	jne    0x4362f0
4362e3:	81 c9 04 03 00 00    	or     $0x304,%ecx
4362e9:	89 77 04             	mov    %esi,0x4(%edi)
4362ec:	89 0f                	mov    %ecx,(%edi)
4362ee:	eb 64                	jmp    0x436354
4362f0:	f6 c1 02             	test   $0x2,%cl
4362f3:	75 62                	jne    0x436357
4362f5:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
4362f9:	74 42                	je     0x43633d
4362fb:	ff 73 5c             	push   0x5c(%ebx)
4362fe:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436304:	50                   	push   %eax
436305:	ff 73 50             	push   0x50(%ebx)
436308:	e8 c3 1d ff ff       	call   0x4280d0
43630d:	83 c4 0c             	add    $0xc,%esp
436310:	85 c0                	test   %eax,%eax
436312:	75 29                	jne    0x43633d
436314:	83 0f 02             	orl    $0x2,(%edi)
436317:	89 77 08             	mov    %esi,0x8(%edi)
43631a:	8b 4b 50             	mov    0x50(%ebx),%ecx
43631d:	8d 51 02             	lea    0x2(%ecx),%edx
436320:	66 8b 01             	mov    (%ecx),%ax
436323:	83 c1 02             	add    $0x2,%ecx
436326:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
43632d:	75 f1                	jne    0x436320
43632f:	2b ca                	sub    %edx,%ecx
436331:	d1 f9                	sar    $1,%ecx
436333:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
436336:	75 1f                	jne    0x436357
436338:	89 77 04             	mov    %esi,0x4(%edi)
43633b:	eb 1a                	jmp    0x436357
43633d:	8b 17                	mov    (%edi),%edx
43633f:	f6 c2 01             	test   $0x1,%dl
436342:	75 13                	jne    0x436357
436344:	56                   	push   %esi
436345:	e8 40 03 00 00       	call   0x43668a
43634a:	59                   	pop    %ecx
43634b:	85 c0                	test   %eax,%eax
43634d:	74 08                	je     0x436357
43634f:	83 ca 01             	or     $0x1,%edx
436352:	89 17                	mov    %edx,(%edi)
436354:	89 77 08             	mov    %esi,0x8(%edi)
436357:	8b 07                	mov    (%edi),%eax
436359:	b9 00 03 00 00       	mov    $0x300,%ecx
43635e:	23 c1                	and    %ecx,%eax
436360:	3b c1                	cmp    %ecx,%eax
436362:	0f 84 e9 00 00 00    	je     0x436451
436368:	6a 78                	push   $0x78
43636a:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436370:	50                   	push   %eax
436371:	8b 43 60             	mov    0x60(%ebx),%eax
436374:	f7 d8                	neg    %eax
436376:	1b c0                	sbb    %eax,%eax
436378:	25 02 f0 ff ff       	and    $0xfffff002,%eax
43637d:	05 01 10 00 00       	add    $0x1001,%eax
436382:	50                   	push   %eax
436383:	56                   	push   %esi
436384:	ff 15 9c f1 43 00    	call   *0x43f19c
43638a:	85 c0                	test   %eax,%eax
43638c:	0f 84 cb 00 00 00    	je     0x43645d
436392:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436398:	50                   	push   %eax
436399:	ff 73 50             	push   0x50(%ebx)
43639c:	e8 df 1b ff ff       	call   0x427f80
4363a1:	59                   	pop    %ecx
4363a2:	59                   	pop    %ecx
4363a3:	85 c0                	test   %eax,%eax
4363a5:	75 6a                	jne    0x436411
4363a7:	8b 0f                	mov    (%edi),%ecx
4363a9:	81 c9 00 02 00 00    	or     $0x200,%ecx
4363af:	89 0f                	mov    %ecx,(%edi)
4363b1:	39 43 60             	cmp    %eax,0x60(%ebx)
4363b4:	74 10                	je     0x4363c6
4363b6:	81 c9 00 01 00 00    	or     $0x100,%ecx
4363bc:	89 0f                	mov    %ecx,(%edi)
4363be:	39 47 04             	cmp    %eax,0x4(%edi)
4363c1:	e9 86 00 00 00       	jmp    0x43644c
4363c6:	39 43 5c             	cmp    %eax,0x5c(%ebx)
4363c9:	74 eb                	je     0x4363b6
4363cb:	8b 53 50             	mov    0x50(%ebx),%edx
4363ce:	8d 42 02             	lea    0x2(%edx),%eax
4363d1:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
4363d7:	66 8b 02             	mov    (%edx),%ax
4363da:	83 c2 02             	add    $0x2,%edx
4363dd:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
4363e4:	75 f1                	jne    0x4363d7
4363e6:	2b 95 04 ff ff ff    	sub    -0xfc(%ebp),%edx
4363ec:	d1 fa                	sar    $1,%edx
4363ee:	3b 53 5c             	cmp    0x5c(%ebx),%edx
4363f1:	75 1a                	jne    0x43640d
4363f3:	57                   	push   %edi
4363f4:	6a 01                	push   $0x1
4363f6:	56                   	push   %esi
4363f7:	e8 b3 02 00 00       	call   0x4366af
4363fc:	83 c4 0c             	add    $0xc,%esp
4363ff:	85 c0                	test   %eax,%eax
436401:	74 4e                	je     0x436451
436403:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
436409:	33 c0                	xor    %eax,%eax
43640b:	eb b1                	jmp    0x4363be
43640d:	33 c0                	xor    %eax,%eax
43640f:	eb a5                	jmp    0x4363b6
436411:	33 c0                	xor    %eax,%eax
436413:	39 43 60             	cmp    %eax,0x60(%ebx)
436416:	75 39                	jne    0x436451
436418:	39 43 5c             	cmp    %eax,0x5c(%ebx)
43641b:	74 34                	je     0x436451
43641d:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436423:	50                   	push   %eax
436424:	ff 73 50             	push   0x50(%ebx)
436427:	e8 54 1b ff ff       	call   0x427f80
43642c:	59                   	pop    %ecx
43642d:	59                   	pop    %ecx
43642e:	85 c0                	test   %eax,%eax
436430:	75 1f                	jne    0x436451
436432:	57                   	push   %edi
436433:	33 db                	xor    %ebx,%ebx
436435:	53                   	push   %ebx
436436:	56                   	push   %esi
436437:	e8 73 02 00 00       	call   0x4366af
43643c:	83 c4 0c             	add    $0xc,%esp
43643f:	85 c0                	test   %eax,%eax
436441:	74 0e                	je     0x436451
436443:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
436449:	39 5f 04             	cmp    %ebx,0x4(%edi)
43644c:	75 03                	jne    0x436451
43644e:	89 77 04             	mov    %esi,0x4(%edi)
436451:	8b 07                	mov    (%edi),%eax
436453:	c1 e8 02             	shr    $0x2,%eax
436456:	f7 d0                	not    %eax
436458:	83 e0 01             	and    $0x1,%eax
43645b:	eb 05                	jmp    0x436462
43645d:	33 c0                	xor    %eax,%eax
43645f:	89 07                	mov    %eax,(%edi)
436461:	40                   	inc    %eax
436462:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436465:	5f                   	pop    %edi
436466:	5e                   	pop    %esi
436467:	33 cd                	xor    %ebp,%ecx
436469:	5b                   	pop    %ebx
43646a:	e8 61 54 fe ff       	call   0x41b8d0
43646f:	c9                   	leave
436470:	c2 04 00             	ret    $0x4
436473:	cc                   	int3
436474:	cc                   	int3
436475:	cc                   	int3
436476:	cc                   	int3
436477:	cc                   	int3
436478:	cc                   	int3
436479:	cc                   	int3
43647a:	cc                   	int3
43647b:	cc                   	int3
43647c:	cc                   	int3
43647d:	cc                   	int3
43647e:	cc                   	int3
43647f:	cc                   	int3
436480:	8b ff                	mov    %edi,%edi
436482:	55                   	push   %ebp
436483:	8b ec                	mov    %esp,%ebp
436485:	81 ec f4 00 00 00    	sub    $0xf4,%esp
43648b:	a1 14 40 45 00       	mov    0x454014,%eax
436490:	33 c5                	xor    %ebp,%eax
436492:	89 45 fc             	mov    %eax,-0x4(%ebp)
436495:	53                   	push   %ebx
436496:	56                   	push   %esi
436497:	8b 75 08             	mov    0x8(%ebp),%esi
43649a:	57                   	push   %edi
43649b:	e8 89 5c ff ff       	call   0x42c129
4364a0:	8b d8                	mov    %eax,%ebx
4364a2:	e8 82 5c ff ff       	call   0x42c129
4364a7:	56                   	push   %esi
4364a8:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
4364ae:	e8 a2 00 00 00       	call   0x436555
4364b3:	59                   	pop    %ecx
4364b4:	8b 4b 60             	mov    0x60(%ebx),%ecx
4364b7:	8b f0                	mov    %eax,%esi
4364b9:	f7 d9                	neg    %ecx
4364bb:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4364c1:	6a 78                	push   $0x78
4364c3:	1b c9                	sbb    %ecx,%ecx
4364c5:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
4364cb:	50                   	push   %eax
4364cc:	81 c1 01 10 00 00    	add    $0x1001,%ecx
4364d2:	51                   	push   %ecx
4364d3:	56                   	push   %esi
4364d4:	ff 15 9c f1 43 00    	call   *0x43f19c
4364da:	85 c0                	test   %eax,%eax
4364dc:	75 05                	jne    0x4364e3
4364de:	21 07                	and    %eax,(%edi)
4364e0:	40                   	inc    %eax
4364e1:	eb 61                	jmp    0x436544
4364e3:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4364e9:	50                   	push   %eax
4364ea:	ff 73 50             	push   0x50(%ebx)
4364ed:	e8 8e 1a ff ff       	call   0x427f80
4364f2:	59                   	pop    %ecx
4364f3:	59                   	pop    %ecx
4364f4:	8b 4b 60             	mov    0x60(%ebx),%ecx
4364f7:	85 c0                	test   %eax,%eax
4364f9:	75 09                	jne    0x436504
4364fb:	85 c9                	test   %ecx,%ecx
4364fd:	75 32                	jne    0x436531
4364ff:	57                   	push   %edi
436500:	6a 01                	push   $0x1
436502:	eb 20                	jmp    0x436524
436504:	85 c9                	test   %ecx,%ecx
436506:	75 32                	jne    0x43653a
436508:	39 4b 5c             	cmp    %ecx,0x5c(%ebx)
43650b:	74 2d                	je     0x43653a
43650d:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436513:	50                   	push   %eax
436514:	ff 73 50             	push   0x50(%ebx)
436517:	e8 64 1a ff ff       	call   0x427f80
43651c:	59                   	pop    %ecx
43651d:	59                   	pop    %ecx
43651e:	85 c0                	test   %eax,%eax
436520:	75 18                	jne    0x43653a
436522:	57                   	push   %edi
436523:	50                   	push   %eax
436524:	56                   	push   %esi
436525:	e8 85 01 00 00       	call   0x4366af
43652a:	83 c4 0c             	add    $0xc,%esp
43652d:	85 c0                	test   %eax,%eax
43652f:	74 09                	je     0x43653a
436531:	83 0f 04             	orl    $0x4,(%edi)
436534:	89 77 04             	mov    %esi,0x4(%edi)
436537:	89 77 08             	mov    %esi,0x8(%edi)
43653a:	8b 07                	mov    (%edi),%eax
43653c:	c1 e8 02             	shr    $0x2,%eax
43653f:	f7 d0                	not    %eax
436541:	83 e0 01             	and    $0x1,%eax
436544:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436547:	5f                   	pop    %edi
436548:	5e                   	pop    %esi
436549:	33 cd                	xor    %ebp,%ecx
43654b:	5b                   	pop    %ebx
43654c:	e8 7f 53 fe ff       	call   0x41b8d0
436551:	c9                   	leave
436552:	c2 04 00             	ret    $0x4
436555:	8b ff                	mov    %edi,%edi
436557:	55                   	push   %ebp
436558:	8b ec                	mov    %esp,%ebp
43655a:	8b 55 08             	mov    0x8(%ebp),%edx
43655d:	56                   	push   %esi
43655e:	33 f6                	xor    %esi,%esi
436560:	0f b7 0a             	movzwl (%edx),%ecx
436563:	83 c2 02             	add    $0x2,%edx
436566:	66 85 c9             	test   %cx,%cx
436569:	74 39                	je     0x4365a4
43656b:	57                   	push   %edi
43656c:	6a 05                	push   $0x5
43656e:	5f                   	pop    %edi
43656f:	8d 41 9f             	lea    -0x61(%ecx),%eax
436572:	66 3b c7             	cmp    %di,%ax
436575:	77 08                	ja     0x43657f
436577:	81 c1 d9 ff 00 00    	add    $0xffd9,%ecx
43657d:	eb 0e                	jmp    0x43658d
43657f:	8d 41 bf             	lea    -0x41(%ecx),%eax
436582:	66 3b c7             	cmp    %di,%ax
436585:	77 06                	ja     0x43658d
436587:	81 c1 f9 ff 00 00    	add    $0xfff9,%ecx
43658d:	c1 e6 04             	shl    $0x4,%esi
436590:	0f b7 c1             	movzwl %cx,%eax
436593:	83 c6 d0             	add    $0xffffffd0,%esi
436596:	0f b7 0a             	movzwl (%edx),%ecx
436599:	03 f0                	add    %eax,%esi
43659b:	83 c2 02             	add    $0x2,%edx
43659e:	66 85 c9             	test   %cx,%cx
4365a1:	75 cc                	jne    0x43656f
4365a3:	5f                   	pop    %edi
4365a4:	8b c6                	mov    %esi,%eax
4365a6:	5e                   	pop    %esi
4365a7:	5d                   	pop    %ebp
4365a8:	c3                   	ret
4365a9:	8b ff                	mov    %edi,%edi
4365ab:	55                   	push   %ebp
4365ac:	8b ec                	mov    %esp,%ebp
4365ae:	51                   	push   %ecx
4365af:	8b 4d 08             	mov    0x8(%ebp),%ecx
4365b2:	56                   	push   %esi
4365b3:	57                   	push   %edi
4365b4:	85 c9                	test   %ecx,%ecx
4365b6:	0f 84 9e 00 00 00    	je     0x43665a
4365bc:	33 c0                	xor    %eax,%eax
4365be:	66 39 01             	cmp    %ax,(%ecx)
4365c1:	0f 84 93 00 00 00    	je     0x43665a
4365c7:	be e0 47 44 00       	mov    $0x4447e0,%esi
4365cc:	8b d1                	mov    %ecx,%edx
4365ce:	66 8b 3a             	mov    (%edx),%di
4365d1:	66 3b 3e             	cmp    (%esi),%di
4365d4:	75 1e                	jne    0x4365f4
4365d6:	66 85 ff             	test   %di,%di
4365d9:	74 15                	je     0x4365f0
4365db:	66 8b 7a 02          	mov    0x2(%edx),%di
4365df:	66 3b 7e 02          	cmp    0x2(%esi),%di
4365e3:	75 0f                	jne    0x4365f4
4365e5:	83 c2 04             	add    $0x4,%edx
4365e8:	83 c6 04             	add    $0x4,%esi
4365eb:	66 85 ff             	test   %di,%di
4365ee:	75 de                	jne    0x4365ce
4365f0:	8b d0                	mov    %eax,%edx
4365f2:	eb 05                	jmp    0x4365f9
4365f4:	1b d2                	sbb    %edx,%edx
4365f6:	83 ca 01             	or     $0x1,%edx
4365f9:	85 d2                	test   %edx,%edx
4365fb:	74 5d                	je     0x43665a
4365fd:	be f4 47 44 00       	mov    $0x4447f4,%esi
436602:	8b d1                	mov    %ecx,%edx
436604:	66 8b 3a             	mov    (%edx),%di
436607:	66 3b 3e             	cmp    (%esi),%di
43660a:	75 1c                	jne    0x436628
43660c:	66 85 ff             	test   %di,%di
43660f:	74 1c                	je     0x43662d
436611:	66 8b 7a 02          	mov    0x2(%edx),%di
436615:	66 3b 7e 02          	cmp    0x2(%esi),%di
436619:	75 0d                	jne    0x436628
43661b:	83 c2 04             	add    $0x4,%edx
43661e:	83 c6 04             	add    $0x4,%esi
436621:	66 85 ff             	test   %di,%di
436624:	75 de                	jne    0x436604
436626:	eb 05                	jmp    0x43662d
436628:	1b c0                	sbb    %eax,%eax
43662a:	83 c8 01             	or     $0x1,%eax
43662d:	85 c0                	test   %eax,%eax
43662f:	75 20                	jne    0x436651
436631:	6a 02                	push   $0x2