436063:	5d                   	pop    %ebp
436064:	c3                   	ret
436065:	68 d8 00 00 00       	push   $0xd8
43606a:	b8 ab 22 49 00       	mov    $0x4922ab,%eax
43606f:	e8 0a 9a 00 00       	call   0x43fa7e
436074:	8b 45 08             	mov    0x8(%ebp),%eax
436077:	8b 7d 18             	mov    0x18(%ebp),%edi
43607a:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
436080:	0f b7 45 1c          	movzwl 0x1c(%ebp),%eax
436084:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
43608a:	0f b7 45 3c          	movzwl 0x3c(%ebp),%eax
43608e:	89 7d 80             	mov    %edi,-0x80(%ebp)
436091:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
436097:	ff 77 30             	push   0x30(%edi)
43609a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43609e:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
4360a4:	e8 93 2d ff ff       	call   0x428e3c
4360a9:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
4360ad:	74 17                	je     0x4360c6
4360af:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4360b5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4360b9:	50                   	push   %eax
4360ba:	e8 c8 8e ff ff       	call   0x42ef87
4360bf:	8b d8                	mov    %eax,%ebx
4360c1:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
4360c4:	eb 15                	jmp    0x4360db
4360c6:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4360cc:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4360d0:	50                   	push   %eax
4360d1:	e8 57 8f ff ff       	call   0x42f02d
4360d6:	8b d8                	mov    %eax,%ebx
4360d8:	89 45 8c             	mov    %eax,-0x74(%ebp)
4360db:	59                   	pop    %ecx
4360dc:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
4360e2:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4360e6:	e8 fc 92 fd ff       	call   0x40f3e7
4360eb:	8b 03                	mov    (%ebx),%eax
4360ed:	8b 70 14             	mov    0x14(%eax),%esi
4360f0:	8d 45 c0             	lea    -0x40(%ebp),%eax
4360f3:	50                   	push   %eax
4360f4:	8b ce                	mov    %esi,%ecx
4360f6:	ff 15 54 43 49 00    	call   *0x494354
4360fc:	8b cb                	mov    %ebx,%ecx
4360fe:	ff d6                	call   *%esi
436100:	8b cb                	mov    %ebx,%ecx
436102:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
436106:	e8 dc 4d 00 00       	call   0x43aee7
43610b:	99                   	cltd
43610c:	8b d8                	mov    %eax,%ebx
43610e:	33 da                	xor    %edx,%ebx
436110:	2b da                	sub    %edx,%ebx
436112:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
436115:	39 5d 34             	cmp    %ebx,0x34(%ebp)
436118:	77 19                	ja     0x436133
43611a:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
436120:	8b c3                	mov    %ebx,%eax
436122:	8d 4d 24             	lea    0x24(%ebp),%ecx
436125:	2b 45 34             	sub    0x34(%ebp),%eax
436128:	40                   	inc    %eax
436129:	50                   	push   %eax
43612a:	6a 00                	push   $0x0
43612c:	e8 ae 4f 00 00       	call   0x43b0df
436131:	eb 70                	jmp    0x4361a3
436133:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
436137:	8d 45 c0             	lea    -0x40(%ebp),%eax
43613a:	72 03                	jb     0x43613f
43613c:	8b 45 c0             	mov    -0x40(%ebp),%eax
43613f:	80 38 7f             	cmpb   $0x7f,(%eax)
436142:	74 5f                	je     0x4361a3
436144:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
436148:	8d 45 c0             	lea    -0x40(%ebp),%eax
43614b:	72 03                	jb     0x436150
43614d:	8b 45 c0             	mov    -0x40(%ebp),%eax
436150:	80 38 00             	cmpb   $0x0,(%eax)
436153:	7e 4e                	jle    0x4361a3
436155:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
436158:	e8 e7 53 00 00       	call   0x43b544
43615d:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
436161:	8d 7d c0             	lea    -0x40(%ebp),%edi
436164:	0f b7 d8             	movzwl %ax,%ebx
436167:	72 03                	jb     0x43616c
436169:	8b 7d c0             	mov    -0x40(%ebp),%edi
43616c:	8b 75 34             	mov    0x34(%ebp),%esi
43616f:	2b 75 84             	sub    -0x7c(%ebp),%esi
436172:	8a 07                	mov    (%edi),%al
436174:	3c 7f                	cmp    $0x7f,%al
436176:	74 25                	je     0x43619d
436178:	84 c0                	test   %al,%al
43617a:	7e 21                	jle    0x43619d
43617c:	0f be c0             	movsbl %al,%eax
43617f:	3b c6                	cmp    %esi,%eax
436181:	73 1a                	jae    0x43619d
436183:	53                   	push   %ebx
436184:	2b f0                	sub    %eax,%esi
436186:	8d 4d 24             	lea    0x24(%ebp),%ecx
436189:	6a 01                	push   $0x1
43618b:	56                   	push   %esi
43618c:	e8 4e 4f 00 00       	call   0x43b0df
436191:	8d 47 01             	lea    0x1(%edi),%eax
436194:	80 38 00             	cmpb   $0x0,(%eax)
436197:	7e d9                	jle    0x436172
436199:	8b f8                	mov    %eax,%edi
43619b:	eb d5                	jmp    0x436172
43619d:	8b 7d 80             	mov    -0x80(%ebp),%edi
4361a0:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
4361a3:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4361a7:	33 c0                	xor    %eax,%eax
4361a9:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
4361b0:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
4361b4:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
4361b8:	8b 45 8c             	mov    -0x74(%ebp),%eax
4361bb:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4361bf:	8b 00                	mov    (%eax),%eax
4361c1:	74 2a                	je     0x4361ed
4361c3:	8b 70 2c             	mov    0x2c(%eax),%esi
4361c6:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4361cc:	50                   	push   %eax
4361cd:	8b ce                	mov    %esi,%ecx
4361cf:	ff 15 54 43 49 00    	call   *0x494354
4361d5:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4361d8:	ff d6                	call   *%esi
4361da:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
4361e0:	89 45 84             	mov    %eax,-0x7c(%ebp)
4361e3:	8b 45 8c             	mov    -0x74(%ebp),%eax
4361e6:	8b 00                	mov    (%eax),%eax
4361e8:	8b 70 20             	mov    0x20(%eax),%esi
4361eb:	eb 28                	jmp    0x436215
4361ed:	8b 70 28             	mov    0x28(%eax),%esi
4361f0:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4361f6:	50                   	push   %eax
4361f7:	8b ce                	mov    %esi,%ecx
4361f9:	ff 15 54 43 49 00    	call   *0x494354
4361ff:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
436202:	ff d6                	call   *%esi
436204:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
43620a:	89 45 84             	mov    %eax,-0x7c(%ebp)
43620d:	8b 45 8c             	mov    -0x74(%ebp),%eax
436210:	8b 00                	mov    (%eax),%eax
436212:	8b 70 1c             	mov    0x1c(%eax),%esi
436215:	8d 45 90             	lea    -0x70(%ebp),%eax
436218:	8b ce                	mov    %esi,%ecx
43621a:	50                   	push   %eax
43621b:	ff 15 54 43 49 00    	call   *0x494354
436221:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
436224:	ff d6                	call   *%esi
436226:	8d 45 90             	lea    -0x70(%ebp),%eax
436229:	50                   	push   %eax
43622a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43622d:	e8 99 9c ff ff       	call   0x42fecb
436232:	8d 4d 90             	lea    -0x70(%ebp),%ecx
436235:	e8 51 0a 00 00       	call   0x436c8b
43623a:	83 65 b8 00          	andl   $0x0,-0x48(%ebp)
43623e:	33 c0                	xor    %eax,%eax
436240:	c7 45 bc 07 00 00 00 	movl   $0x7,-0x44(%ebp)
436247:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
43624b:	f6 47 14 08          	testb  $0x8,0x14(%edi)
43624f:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
436253:	74 2d                	je     0x436282
436255:	8b 45 8c             	mov    -0x74(%ebp),%eax
436258:	8d 4d 90             	lea    -0x70(%ebp),%ecx
43625b:	51                   	push   %ecx
43625c:	8b 00                	mov    (%eax),%eax
43625e:	8b 70 18             	mov    0x18(%eax),%esi
436261:	8b ce                	mov    %esi,%ecx
436263:	ff 15 54 43 49 00    	call   *0x494354
436269:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43626c:	ff d6                	call   *%esi
43626e:	8d 45 90             	lea    -0x70(%ebp),%eax
436271:	50                   	push   %eax
436272:	8d 4d a8             	lea    -0x58(%ebp),%ecx
436275:	e8 51 9c ff ff       	call   0x42fecb
43627a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
43627d:	e8 09 0a 00 00       	call   0x436c8b
436282:	32 d2                	xor    %dl,%dl
436284:	33 c9                	xor    %ecx,%ecx
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