436286:	88 55 8b             	mov    %dl,-0x75(%ebp)
436289:	33 f6                	xor    %esi,%esi
43628b:	0f be 44 35 84       	movsbl -0x7c(%ebp,%esi,1),%eax
436290:	83 e8 20             	sub    $0x20,%eax
436293:	74 44                	je     0x4362d9
436295:	83 e8 04             	sub    $0x4,%eax
436298:	74 3a                	je     0x4362d4
43629a:	83 e8 07             	sub    $0x7,%eax
43629d:	74 30                	je     0x4362cf
43629f:	83 e8 4b             	sub    $0x4b,%eax
4362a2:	74 08                	je     0x4362ac
4362a4:	48                   	dec    %eax
4362a5:	83 e8 01             	sub    $0x1,%eax
4362a8:	74 30                	je     0x4362da
4362aa:	eb 38                	jmp    0x4362e4
4362ac:	39 5d 34             	cmp    %ebx,0x34(%ebp)
4362af:	77 08                	ja     0x4362b9
4362b1:	8b d3                	mov    %ebx,%edx
4362b3:	2b 55 34             	sub    0x34(%ebp),%edx
4362b6:	42                   	inc    %edx
4362b7:	eb 02                	jmp    0x4362bb
4362b9:	33 d2                	xor    %edx,%edx
4362bb:	33 c0                	xor    %eax,%eax
4362bd:	3b c3                	cmp    %ebx,%eax
4362bf:	1b c0                	sbb    %eax,%eax
4362c1:	f7 d8                	neg    %eax
4362c3:	03 45 34             	add    0x34(%ebp),%eax
4362c6:	03 c2                	add    %edx,%eax
4362c8:	8a 55 8b             	mov    -0x75(%ebp),%dl
4362cb:	03 c8                	add    %eax,%ecx
4362cd:	eb 15                	jmp    0x4362e4
4362cf:	03 4d e8             	add    -0x18(%ebp),%ecx
4362d2:	eb 10                	jmp    0x4362e4
4362d4:	03 4d b8             	add    -0x48(%ebp),%ecx
4362d7:	eb 0b                	jmp    0x4362e4
4362d9:	41                   	inc    %ecx
4362da:	83 fe 03             	cmp    $0x3,%esi
4362dd:	74 05                	je     0x4362e4
4362df:	b2 01                	mov    $0x1,%dl
4362e1:	88 55 8b             	mov    %dl,-0x75(%ebp)
4362e4:	46                   	inc    %esi
4362e5:	83 fe 04             	cmp    $0x4,%esi
4362e8:	72 a1                	jb     0x43628b
4362ea:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
4362ee:	7c 13                	jl     0x436303
4362f0:	7f 06                	jg     0x4362f8
4362f2:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
4362f6:	76 0b                	jbe    0x436303
4362f8:	8b 7f 20             	mov    0x20(%edi),%edi
4362fb:	3b f9                	cmp    %ecx,%edi
4362fd:	76 04                	jbe    0x436303
4362ff:	2b f9                	sub    %ecx,%edi
436301:	eb 02                	jmp    0x436305
436303:	33 ff                	xor    %edi,%edi
436305:	8b 45 80             	mov    -0x80(%ebp),%eax
436308:	8b 40 14             	mov    0x14(%eax),%eax
43630b:	25 c0 01 00 00       	and    $0x1c0,%eax
436310:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
436316:	83 f8 40             	cmp    $0x40,%eax
436319:	74 36                	je     0x436351
43631b:	3d 00 01 00 00       	cmp    $0x100,%eax
436320:	75 04                	jne    0x436326
436322:	84 d2                	test   %dl,%dl
436324:	75 2b                	jne    0x436351
436326:	57                   	push   %edi
436327:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
43632d:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
436333:	ff 75 10             	push   0x10(%ebp)
436336:	ff 75 0c             	push   0xc(%ebp)
436339:	50                   	push   %eax
43633a:	e8 ec 07 00 00       	call   0x436b2b
43633f:	83 c4 14             	add    $0x14,%esp
436342:	33 ff                	xor    %edi,%edi
436344:	8b 10                	mov    (%eax),%edx
436346:	89 55 0c             	mov    %edx,0xc(%ebp)
436349:	8b 70 04             	mov    0x4(%eax),%esi
43634c:	89 75 10             	mov    %esi,0x10(%ebp)
43634f:	eb 06                	jmp    0x436357
436351:	8b 75 10             	mov    0x10(%ebp),%esi
436354:	8b 55 0c             	mov    0xc(%ebp),%edx
436357:	33 c0                	xor    %eax,%eax
436359:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
43635f:	0f be 44 05 84       	movsbl -0x7c(%ebp,%eax,1),%eax
436364:	83 e8 20             	sub    $0x20,%eax
436367:	0f 84 6c 01 00 00    	je     0x4364d9
43636d:	83 e8 04             	sub    $0x4,%eax
436370:	0f 84 48 01 00 00    	je     0x4364be
436376:	83 e8 07             	sub    $0x7,%eax
436379:	0f 84 1b 01 00 00    	je     0x43649a
43637f:	83 e8 4b             	sub    $0x4b,%eax
436382:	74 0f                	je     0x436393
436384:	48                   	dec    %eax
436385:	83 e8 01             	sub    $0x1,%eax
436388:	0f 84 6f 01 00 00    	je     0x4364fd
43638e:	e9 9b 01 00 00       	jmp    0x43652e
436393:	85 db                	test   %ebx,%ebx
436395:	75 26                	jne    0x4363bd
436397:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
43639b:	8d 45 24             	lea    0x24(%ebp),%eax
43639e:	72 03                	jb     0x4363a3
4363a0:	8b 45 24             	mov    0x24(%ebp),%eax
4363a3:	ff 75 34             	push   0x34(%ebp)
4363a6:	50                   	push   %eax
4363a7:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
4363ad:	56                   	push   %esi
4363ae:	52                   	push   %edx
4363af:	50                   	push   %eax
4363b0:	e8 d4 fb ff ff       	call   0x435f89
4363b5:	83 c4 14             	add    $0x14,%esp
4363b8:	e9 66 01 00 00       	jmp    0x436523
4363bd:	39 5d 34             	cmp    %ebx,0x34(%ebp)
4363c0:	77 69                	ja     0x43642b
4363c2:	8b b5 68 ff ff ff    	mov    -0x98(%ebp),%esi
4363c8:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4363cb:	56                   	push   %esi
4363cc:	e8 31 9b ff ff       	call   0x42ff02
4363d1:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4363d4:	e8 80 0c 00 00       	call   0x437059
4363d9:	0f b7 c0             	movzwl %ax,%eax
4363dc:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4363df:	50                   	push   %eax
4363e0:	e8 1d 9b ff ff       	call   0x42ff02
4363e5:	8b c3                	mov    %ebx,%eax
4363e7:	2b 45 34             	sub    0x34(%ebp),%eax
4363ea:	50                   	push   %eax
4363eb:	56                   	push   %esi
4363ec:	ff 75 10             	push   0x10(%ebp)
4363ef:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
4363f5:	ff 75 0c             	push   0xc(%ebp)
4363f8:	50                   	push   %eax
4363f9:	e8 2d 07 00 00       	call   0x436b2b
4363fe:	8b c8                	mov    %eax,%ecx
436400:	83 c4 14             	add    $0x14,%esp
436403:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
436407:	8b 01                	mov    (%ecx),%eax
436409:	89 45 0c             	mov    %eax,0xc(%ebp)
43640c:	8b 41 04             	mov    0x4(%ecx),%eax
43640f:	89 45 10             	mov    %eax,0x10(%ebp)
436412:	8d 45 24             	lea    0x24(%ebp),%eax
436415:	72 03                	jb     0x43641a
436417:	8b 45 24             	mov    0x24(%ebp),%eax
43641a:	ff 75 34             	push   0x34(%ebp)
43641d:	50                   	push   %eax
43641e:	ff 71 04             	push   0x4(%ecx)
436421:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
436427:	ff 31                	push   (%ecx)
436429:	eb 84                	jmp    0x4363af
43642b:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
43642f:	8d 4d 24             	lea    0x24(%ebp),%ecx
436432:	72 03                	jb     0x436437
436434:	8b 4d 24             	mov    0x24(%ebp),%ecx
436437:	8b 45 34             	mov    0x34(%ebp),%eax
43643a:	2b c3                	sub    %ebx,%eax
43643c:	50                   	push   %eax
43643d:	51                   	push   %ecx
43643e:	56                   	push   %esi
43643f:	52                   	push   %edx
436440:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
436446:	50                   	push   %eax
436447:	e8 3d fb ff ff       	call   0x435f89
43644c:	8b c8                	mov    %eax,%ecx
43644e:	83 c4 14             	add    $0x14,%esp
436451:	8b 01                	mov    (%ecx),%eax
436453:	89 45 0c             	mov    %eax,0xc(%ebp)
436456:	8b 41 04             	mov    0x4(%ecx),%eax
436459:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43645c:	89 45 10             	mov    %eax,0x10(%ebp)
43645f:	e8 f5 0b 00 00       	call   0x437059
436464:	0f b7 c0             	movzwl %ax,%eax
436467:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43646a:	50                   	push   %eax
43646b:	e8 92 9a ff ff       	call   0x42ff02
436470:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
436474:	8d 4d 24             	lea    0x24(%ebp),%ecx
436477:	72 03                	jb     0x43647c
436479:	8b 4d 24             	mov    0x24(%ebp),%ecx
43647c:	8b 45 34             	mov    0x34(%ebp),%eax
43647f:	53                   	push   %ebx
436480:	8d 04 41             	lea    (%ecx,%eax,2),%eax
436483:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
436486:	2b c1                	sub    %ecx,%eax
436488:	50                   	push   %eax
436489:	ff 75 10             	push   0x10(%ebp)
43648c:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
436492:	ff 75 0c             	push   0xc(%ebp)
436495:	e9 15 ff ff ff       	jmp    0x4363af
43649a:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
43649e:	0f 86 8a 00 00 00    	jbe    0x43652e
4364a4:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4364a8:	8d 45 d8             	lea    -0x28(%ebp),%eax
4364ab:	72 03                	jb     0x4364b0
4364ad:	8b 45 d8             	mov    -0x28(%ebp),%eax
4364b0:	6a 01                	push   $0x1
4364b2:	50                   	push   %eax
4364b3:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
4364b9:	e9 ef fe ff ff       	jmp    0x4363ad
4364be:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
4364c2:	8d 45 a8             	lea    -0x58(%ebp),%eax
4364c5:	72 03                	jb     0x4364ca
4364c7:	8b 45 a8             	mov    -0x58(%ebp),%eax
4364ca:	ff 75 b8             	push   -0x48(%ebp)
4364cd:	50                   	push   %eax
4364ce:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
4364d4:	e9 d4 fe ff ff       	jmp    0x4363ad
4364d9:	6a 01                	push   $0x1
4364db:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
4364e1:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
4364e7:	56                   	push   %esi
4364e8:	52                   	push   %edx
4364e9:	50                   	push   %eax
4364ea:	e8 3c 06 00 00       	call   0x436b2b
4364ef:	83 c4 14             	add    $0x14,%esp
4364f2:	8b 10                	mov    (%eax),%edx
4364f4:	89 55 0c             	mov    %edx,0xc(%ebp)
4364f7:	8b 70 04             	mov    0x4(%eax),%esi
4364fa:	89 75 10             	mov    %esi,0x10(%ebp)
4364fd:	81 bd 70 ff ff ff 00 	cmpl   $0x100,-0x90(%ebp)
436504:	01 00 00
436507:	75 25                	jne    0x43652e
436509:	57                   	push   %edi
43650a:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
436510:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
436516:	56                   	push   %esi
436517:	52                   	push   %edx
436518:	50                   	push   %eax
436519:	e8 0d 06 00 00       	call   0x436b2b
43651e:	83 c4 14             	add    $0x14,%esp
436521:	33 ff                	xor    %edi,%edi
436523:	8b 10                	mov    (%eax),%edx
436525:	89 55 0c             	mov    %edx,0xc(%ebp)
436528:	8b 70 04             	mov    0x4(%eax),%esi
43652b:	89 75 10             	mov    %esi,0x10(%ebp)
43652e:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
436534:	40                   	inc    %eax
436535:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
43653b:	83 f8 04             	cmp    $0x4,%eax
43653e:	0f 82 1b fe ff ff    	jb     0x43635f
436544:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
436548:	76 31                	jbe    0x43657b
43654a:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43654e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
436551:	72 03                	jb     0x436556
436553:	8b 4d d8             	mov    -0x28(%ebp),%ecx
436556:	8b 45 e8             	mov    -0x18(%ebp),%eax
436559:	83 c1 02             	add    $0x2,%ecx
43655c:	48                   	dec    %eax
43655d:	50                   	push   %eax
43655e:	51                   	push   %ecx
43655f:	56                   	push   %esi
436560:	52                   	push   %edx
436561:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
436567:	50                   	push   %eax
436568:	e8 1c fa ff ff       	call   0x435f89
43656d:	83 c4 14             	add    $0x14,%esp
436570:	8b 10                	mov    (%eax),%edx
436572:	89 55 0c             	mov    %edx,0xc(%ebp)
436575:	8b 70 04             	mov    0x4(%eax),%esi
436578:	89 75 10             	mov    %esi,0x10(%ebp)
43657b:	8b 45 80             	mov    -0x80(%ebp),%eax
43657e:	57                   	push   %edi
43657f:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
436585:	83 60 20 00          	andl   $0x0,0x20(%eax)
436589:	83 60 24 00          	andl   $0x0,0x24(%eax)
43658d:	56                   	push   %esi
43658e:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
436594:	52                   	push   %edx
436595:	56                   	push   %esi
436596:	e8 90 05 00 00       	call   0x436b2b
43659b:	83 c4 14             	add    $0x14,%esp
43659e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4365a1:	e8 e5 06 00 00       	call   0x436c8b
4365a6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4365a9:	e8 dd 06 00 00       	call   0x436c8b
4365ae:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4365b1:	e8 1e 6d fe ff       	call   0x41d2d4
4365b6:	8d 4d 24             	lea    0x24(%ebp),%ecx
4365b9:	e8 cd 06 00 00       	call   0x436c8b
4365be:	8b c6                	mov    %esi,%eax
4365c0:	e8 63 94 00 00       	call   0x43fa28
4365c5:	c2 38 00             	ret    $0x38
4365c8:	68 d8 00 00 00       	push   $0xd8
4365cd:	b8 09 23 49 00       	mov    $0x492309,%eax
4365d2:	e8 a7 94 00 00       	call   0x43fa7e
4365d7:	8b 45 08             	mov    0x8(%ebp),%eax
4365da:	8b 7d 18             	mov    0x18(%ebp),%edi
4365dd:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
4365e3:	0f b7 45 1c          	movzwl 0x1c(%ebp),%eax
4365e7:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
4365ed:	0f b7 45 3c          	movzwl 0x3c(%ebp),%eax
4365f1:	89 7d 80             	mov    %edi,-0x80(%ebp)
4365f4:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
4365fa:	ff 77 30             	push   0x30(%edi)
4365fd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
436601:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
436607:	e8 30 28 ff ff       	call   0x428e3c
43660c:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
436610:	74 17                	je     0x436629
436612:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
436618:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
43661c:	50                   	push   %eax
43661d:	e8 b1 8a ff ff       	call   0x42f0d3
436622:	8b d8                	mov    %eax,%ebx
436624:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
436627:	eb 15                	jmp    0x43663e
436629:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43662f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
436633:	50                   	push   %eax
436634:	e8 40 8b ff ff       	call   0x42f179
436639:	8b d8                	mov    %eax,%ebx
43663b:	89 45 8c             	mov    %eax,-0x74(%ebp)
43663e:	59                   	pop    %ecx
43663f:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
436645:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
436649:	e8 99 8d fd ff       	call   0x40f3e7
43664e:	8b 03                	mov    (%ebx),%eax
436650:	8b 70 14             	mov    0x14(%eax),%esi
436653:	8d 45 c0             	lea    -0x40(%ebp),%eax
436656:	50                   	push   %eax
436657:	8b ce                	mov    %esi,%ecx
436659:	ff 15 54 43 49 00    	call   *0x494354
43665f:	8b cb                	mov    %ebx,%ecx
436661:	ff d6                	call   *%esi
436663:	8b cb                	mov    %ebx,%ecx
436665:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
436669:	e8 91 48 00 00       	call   0x43aeff
43666e:	99                   	cltd
43666f:	8b d8                	mov    %eax,%ebx
436671:	33 da                	xor    %edx,%ebx
436673:	2b da                	sub    %edx,%ebx
436675:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
436678:	39 5d 34             	cmp    %ebx,0x34(%ebp)
43667b:	77 19                	ja     0x436696
43667d:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
436683:	8b c3                	mov    %ebx,%eax
436685:	8d 4d 24             	lea    0x24(%ebp),%ecx
436688:	2b 45 34             	sub    0x34(%ebp),%eax
43668b:	40                   	inc    %eax
43668c:	50                   	push   %eax
43668d:	6a 00                	push   $0x0
43668f:	e8 c3 4a 00 00       	call   0x43b157
436694:	eb 70                	jmp    0x436706
436696:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
43669a:	8d 45 c0             	lea    -0x40(%ebp),%eax
43669d:	72 03                	jb     0x4366a2
43669f:	8b 45 c0             	mov    -0x40(%ebp),%eax
4366a2:	80 38 7f             	cmpb   $0x7f,(%eax)
4366a5:	74 5f                	je     0x436706
4366a7:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
4366ab:	8d 45 c0             	lea    -0x40(%ebp),%eax
4366ae:	72 03                	jb     0x4366b3