43a157:	8b f0                	mov    %eax,%esi
43a159:	8b cb                	mov    %ebx,%ecx
43a15b:	8b d7                	mov    %edi,%edx
43a15d:	8b c6                	mov    %esi,%eax
43a15f:	e8 fc f8 fd ff       	call   0x419a60
43a164:	80 fb 01             	cmp    $0x1,%bl
43a167:	75 24                	jne    0x43a18d
43a169:	3b 7e 7c             	cmp    0x7c(%esi),%edi
43a16c:	75 0b                	jne    0x43a179
43a16e:	33 d2                	xor    %edx,%edx
43a170:	8b c6                	mov    %esi,%eax
43a172:	e8 c1 0a 00 00       	call   0x43ac38
43a177:	eb 14                	jmp    0x43a18d
43a179:	8b c6                	mov    %esi,%eax
43a17b:	8b 10                	mov    (%eax),%edx
43a17d:	ff 52 3c             	call   *0x3c(%edx)
43a180:	3b f8                	cmp    %eax,%edi
43a182:	75 09                	jne    0x43a18d
43a184:	33 d2                	xor    %edx,%edx
43a186:	8b c6                	mov    %esi,%eax
43a188:	e8 67 fe ff ff       	call   0x439ff4
43a18d:	5f                   	pop    %edi
43a18e:	5e                   	pop    %esi
43a18f:	5b                   	pop    %ebx
43a190:	c3                   	ret
43a191:	8d 40 00             	lea    0x0(%eax),%eax
43a194:	53                   	push   %ebx
43a195:	56                   	push   %esi
43a196:	57                   	push   %edi
43a197:	51                   	push   %ecx
43a198:	8b da                	mov    %edx,%ebx
43a19a:	8b f8                	mov    %eax,%edi
43a19c:	8a 47 5b             	mov    0x5b(%edi),%al
43a19f:	3a d8                	cmp    %al,%bl
43a1a1:	0f 84 85 00 00 00    	je     0x43a22c
43a1a7:	88 04 24             	mov    %al,(%esp)
43a1aa:	88 5f 5b             	mov    %bl,0x5b(%edi)
43a1ad:	33 c0                	xor    %eax,%eax
43a1af:	8a c3                	mov    %bl,%al
43a1b1:	8a 90 c4 da 45 00    	mov    0x45dac4(%eax),%dl
43a1b7:	8b c7                	mov    %edi,%eax
43a1b9:	e8 16 fe ff ff       	call   0x439fd4
43a1be:	f6 47 1c 01          	testb  $0x1,0x1c(%edi)
43a1c2:	75 68                	jne    0x43a22c
43a1c4:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
43a1c8:	74 06                	je     0x43a1d0
43a1ca:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
43a1ce:	74 5c                	je     0x43a22c
43a1d0:	80 fb 06             	cmp    $0x6,%bl
43a1d3:	74 57                	je     0x43a22c
43a1d5:	80 3c 24 06          	cmpb   $0x6,(%esp)
43a1d9:	74 51                	je     0x43a22c
43a1db:	8a 04 24             	mov    (%esp),%al
43a1de:	48                   	dec    %eax
43a1df:	2c 02                	sub    $0x2,%al
43a1e1:	0f 92 c0             	setb   %al
43a1e4:	8b d3                	mov    %ebx,%edx
43a1e6:	80 c2 fd             	add    $0xfd,%dl
43a1e9:	80 ea 02             	sub    $0x2,%dl
43a1ec:	0f 92 c2             	setb   %dl
43a1ef:	3a c2                	cmp    %dl,%al
43a1f1:	75 2e                	jne    0x43a221
43a1f3:	8a 04 24             	mov    (%esp),%al
43a1f6:	84 c0                	test   %al,%al
43a1f8:	74 27                	je     0x43a221
43a1fa:	2c 05                	sub    $0x5,%al
43a1fc:	74 23                	je     0x43a221
43a1fe:	84 db                	test   %bl,%bl
43a200:	74 1f                	je     0x43a221
43a202:	80 eb 05             	sub    $0x5,%bl
43a205:	74 1a                	je     0x43a221
43a207:	8b 47 4c             	mov    0x4c(%edi),%eax
43a20a:	50                   	push   %eax
43a20b:	8b 47 48             	mov    0x48(%edi),%eax
43a20e:	50                   	push   %eax
43a20f:	8b 4f 44             	mov    0x44(%edi),%ecx
43a212:	8b 57 40             	mov    0x40(%edi),%edx
43a215:	8b c7                	mov    %edi,%eax
43a217:	8b 18                	mov    (%eax),%ebx
43a219:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43a21f:	eb 0b                	jmp    0x43a22c
43a221:	8b c7                	mov    %edi,%eax
43a223:	66 be ee ff          	mov    $0xffee,%si
43a227:	e8 3c 92 fc ff       	call   0x403468
43a22c:	8b c7                	mov    %edi,%eax
43a22e:	66 be d0 ff          	mov    $0xffd0,%si
43a232:	e8 31 92 fc ff       	call   0x403468
43a237:	5a                   	pop    %edx
43a238:	5f                   	pop    %edi
43a239:	5e                   	pop    %esi
43a23a:	5b                   	pop    %ebx
43a23b:	c3                   	ret
43a23c:	55                   	push   %ebp
43a23d:	8b ec                	mov    %esp,%ebp
43a23f:	53                   	push   %ebx
43a240:	56                   	push   %esi
43a241:	57                   	push   %edi
43a242:	8b f9                	mov    %ecx,%edi
43a244:	8b f2                	mov    %edx,%esi
43a246:	8b d8                	mov    %eax,%ebx
43a248:	8d 4d 08             	lea    0x8(%ebp),%ecx
43a24b:	8d 55 0c             	lea    0xc(%ebp),%edx
43a24e:	8b c3                	mov    %ebx,%eax
43a250:	e8 63 21 00 00       	call   0x43c3b8
43a255:	84 c0                	test   %al,%al
43a257:	74 72                	je     0x43a2cb
43a259:	3b 73 40             	cmp    0x40(%ebx),%esi
43a25c:	75 15                	jne    0x43a273
43a25e:	3b 7b 44             	cmp    0x44(%ebx),%edi
43a261:	75 10                	jne    0x43a273
43a263:	8b 45 0c             	mov    0xc(%ebp),%eax
43a266:	3b 43 48             	cmp    0x48(%ebx),%eax
43a269:	75 08                	jne    0x43a273
43a26b:	8b 45 08             	mov    0x8(%ebp),%eax
43a26e:	3b 43 4c             	cmp    0x4c(%ebx),%eax
43a271:	74 58                	je     0x43a2cb
43a273:	33 c9                	xor    %ecx,%ecx
43a275:	8a 53 57             	mov    0x57(%ebx),%dl
43a278:	8b c3                	mov    %ebx,%eax
43a27a:	e8 49 0e 00 00       	call   0x43b0c8
43a27f:	89 73 40             	mov    %esi,0x40(%ebx)
43a282:	89 7b 44             	mov    %edi,0x44(%ebx)
43a285:	8b 45 0c             	mov    0xc(%ebp),%eax
43a288:	89 43 48             	mov    %eax,0x48(%ebx)
43a28b:	8b 45 08             	mov    0x8(%ebp),%eax
43a28e:	89 43 4c             	mov    %eax,0x4c(%ebx)
43a291:	8b c3                	mov    %ebx,%eax
43a293:	e8 3c 00 00 00       	call   0x43a2d4
43a298:	8b c3                	mov    %ebx,%eax
43a29a:	8b 10                	mov    (%eax),%edx
43a29c:	ff 52 7c             	call   *0x7c(%edx)
43a29f:	6a 00                	push   $0x0
43a2a1:	33 c9                	xor    %ecx,%ecx
43a2a3:	ba 47 00 00 00       	mov    $0x47,%edx
43a2a8:	8b c3                	mov    %ebx,%eax
43a2aa:	e8 79 1b 00 00       	call   0x43be28
43a2af:	8b c3                	mov    %ebx,%eax
43a2b1:	66 be d0 ff          	mov    $0xffd0,%si
43a2b5:	e8 ae 91 fc ff       	call   0x403468
43a2ba:	f6 43 1c 01          	testb  $0x1,0x1c(%ebx)
43a2be:	75 0b                	jne    0x43a2cb
43a2c0:	8b c3                	mov    %ebx,%eax
43a2c2:	66 be cf ff          	mov    $0xffcf,%si
43a2c6:	e8 9d 91 fc ff       	call   0x403468
43a2cb:	5f                   	pop    %edi
43a2cc:	5e                   	pop    %esi
43a2cd:	5b                   	pop    %ebx
43a2ce:	5d                   	pop    %ebp
43a2cf:	c2 08 00             	ret    $0x8
43a2d2:	8b c0                	mov    %eax,%eax
43a2d4:	53                   	push   %ebx
43a2d5:	56                   	push   %esi
43a2d6:	83 c4 f0             	add    $0xfffffff0,%esp
43a2d9:	8b f0                	mov    %eax,%esi
43a2db:	80 7e 62 00          	cmpb   $0x0,0x62(%esi)
43a2df:	0f 85 01 01 00 00    	jne    0x43a3e6
43a2e5:	f6 46 1c 01          	testb  $0x1,0x1c(%esi)
43a2e9:	0f 85 f7 00 00 00    	jne    0x43a3e6
43a2ef:	8a 5e 61             	mov    0x61(%esi),%bl
43a2f2:	a0 ec a3 43 00       	mov    0x43a3ec,%al
43a2f7:	3a c3                	cmp    %bl,%al
43a2f9:	75 15                	jne    0x43a310
43a2fb:	33 c0                	xor    %eax,%eax
43a2fd:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
43a303:	33 c0                	xor    %eax,%eax
43a305:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
43a30b:	e9 d6 00 00 00       	jmp    0x43a3e6
43a310:	f6 c3 04             	test   $0x4,%bl
43a313:	74 1b                	je     0x43a330
43a315:	f6 c3 01             	test   $0x1,%bl
43a318:	74 0b                	je     0x43a325
43a31a:	8b 46 48             	mov    0x48(%esi),%eax
43a31d:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
43a323:	eb 1e                	jmp    0x43a343
43a325:	8b 46 40             	mov    0x40(%esi),%eax
43a328:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
43a32e:	eb 13                	jmp    0x43a343
43a330:	8b 46 48             	mov    0x48(%esi),%eax
43a333:	d1 f8                	sar    $1,%eax
43a335:	79 03                	jns    0x43a33a
43a337:	83 d0 00             	adc    $0x0,%eax
43a33a:	03 46 40             	add    0x40(%esi),%eax
43a33d:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
43a343:	f6 c3 08             	test   $0x8,%bl
43a346:	74 1b                	je     0x43a363
43a348:	f6 c3 02             	test   $0x2,%bl
43a34b:	74 0b                	je     0x43a358
43a34d:	8b 46 4c             	mov    0x4c(%esi),%eax
43a350:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
43a356:	eb 1e                	jmp    0x43a376
43a358:	8b 46 44             	mov    0x44(%esi),%eax
43a35b:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
43a361:	eb 13                	jmp    0x43a376
43a363:	8b 46 4c             	mov    0x4c(%esi),%eax
43a366:	d1 f8                	sar    $1,%eax
43a368:	79 03                	jns    0x43a36d
43a36a:	83 d0 00             	adc    $0x0,%eax
43a36d:	03 46 44             	add    0x44(%esi),%eax
43a370:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
43a376:	8b 5e 30             	mov    0x30(%esi),%ebx
43a379:	85 db                	test   %ebx,%ebx
43a37b:	74 69                	je     0x43a3e6
43a37d:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
43a381:	74 20                	je     0x43a3a3
43a383:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
43a387:	75 5d                	jne    0x43a3e6
43a389:	8b 83 fa 01 00 00    	mov    0x1fa(%ebx),%eax
43a38f:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
43a395:	8b 83 fe 01 00 00    	mov    0x1fe(%ebx),%eax
43a39b:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
43a3a1:	eb 43                	jmp    0x43a3e6
43a3a3:	8b c3                	mov    %ebx,%eax
43a3a5:	e8 b6 73 00 00       	call   0x441760
43a3aa:	84 c0                	test   %al,%al
43a3ac:	74 20                	je     0x43a3ce
43a3ae:	8b d4                	mov    %esp,%edx
43a3b0:	8b 46 30             	mov    0x30(%esi),%eax
43a3b3:	8b 08                	mov    (%eax),%ecx
43a3b5:	ff 51 44             	call   *0x44(%ecx)
43a3b8:	8b 44 24 08          	mov    0x8(%esp),%eax
43a3bc:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
43a3c2:	8b 44 24 0c          	mov    0xc(%esp),%eax
43a3c6:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
43a3cc:	eb 18                	jmp    0x43a3e6
43a3ce:	8b 46 30             	mov    0x30(%esi),%eax
43a3d1:	8b 40 48             	mov    0x48(%eax),%eax
43a3d4:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
43a3da:	8b 46 30             	mov    0x30(%esi),%eax
43a3dd:	8b 40 4c             	mov    0x4c(%eax),%eax
43a3e0:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
43a3e6:	83 c4 10             	add    $0x10,%esp
43a3e9:	5e                   	pop    %esi
43a3ea:	5b                   	pop    %ebx
43a3eb:	c3                   	ret
43a3ec:	03 00                	add    (%eax),%eax
43a3ee:	00 00                	add    %al,(%eax)
43a3f0:	53                   	push   %ebx
43a3f1:	56                   	push   %esi
43a3f2:	8b f0                	mov    %eax,%esi
43a3f4:	8b 46 48             	mov    0x48(%esi),%eax
43a3f7:	50                   	push   %eax
43a3f8:	8b 46 4c             	mov    0x4c(%esi),%eax
43a3fb:	50                   	push   %eax
43a3fc:	8b 4e 44             	mov    0x44(%esi),%ecx
43a3ff:	8b c6                	mov    %esi,%eax
43a401:	8b 18                	mov    (%eax),%ebx
43a403:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43a409:	80 8e 98 00 00 00 01 	orb    $0x1,0x98(%esi)
43a410:	5e                   	pop    %esi
43a411:	5b                   	pop    %ebx
43a412:	c3                   	ret
43a413:	90                   	nop
43a414:	53                   	push   %ebx
43a415:	56                   	push   %esi
43a416:	8b f0                	mov    %eax,%esi
43a418:	8b 46 48             	mov    0x48(%esi),%eax
43a41b:	50                   	push   %eax
43a41c:	8b 46 4c             	mov    0x4c(%esi),%eax
43a41f:	50                   	push   %eax
43a420:	8b ca                	mov    %edx,%ecx
43a422:	8b c6                	mov    %esi,%eax
43a424:	8b 56 40             	mov    0x40(%esi),%edx
43a427:	8b 18                	mov    (%eax),%ebx
43a429:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43a42f:	80 8e 98 00 00 00 02 	orb    $0x2,0x98(%esi)
43a436:	5e                   	pop    %esi
43a437:	5b                   	pop    %ebx
43a438:	c3                   	ret
43a439:	8d 40 00             	lea    0x0(%eax),%eax
43a43c:	53                   	push   %ebx
43a43d:	56                   	push   %esi
43a43e:	8b f0                	mov    %eax,%esi
43a440:	52                   	push   %edx
43a441:	8b 46 4c             	mov    0x4c(%esi),%eax
43a444:	50                   	push   %eax
43a445:	8b 4e 44             	mov    0x44(%esi),%ecx
43a448:	8b c6                	mov    %esi,%eax
43a44a:	8b 56 40             	mov    0x40(%esi),%edx
43a44d:	8b 18                	mov    (%eax),%ebx
43a44f:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43a455:	80 8e 98 00 00 00 04 	orb    $0x4,0x98(%esi)
43a45c:	5e                   	pop    %esi
43a45d:	5b                   	pop    %ebx
43a45e:	c3                   	ret
43a45f:	90                   	nop
43a460:	53                   	push   %ebx
43a461:	56                   	push   %esi
43a462:	8b f0                	mov    %eax,%esi
43a464:	8b 46 48             	mov    0x48(%esi),%eax
43a467:	50                   	push   %eax
43a468:	52                   	push   %edx
43a469:	8b 4e 44             	mov    0x44(%esi),%ecx
43a46c:	8b c6                	mov    %esi,%eax
43a46e:	8b 56 40             	mov    0x40(%esi),%edx
43a471:	8b 18                	mov    (%eax),%ebx
43a473:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43a479:	80 8e 98 00 00 00 08 	orb    $0x8,0x98(%esi)
43a480:	5e                   	pop    %esi
43a481:	5b                   	pop    %ebx
43a482:	c3                   	ret
43a483:	90                   	nop
43a484:	55                   	push   %ebp
43a485:	8b ec                	mov    %esp,%ebp
43a487:	83 c4 ec             	add    $0xffffffec,%esp
43a48a:	53                   	push   %ebx
43a48b:	56                   	push   %esi
43a48c:	57                   	push   %edi
43a48d:	8b f1                	mov    %ecx,%esi
43a48f:	8d 7d ec             	lea    -0x14(%ebp),%edi
43a492:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a493:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a494:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a495:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a496:	8b da                	mov    %edx,%ebx
43a498:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a49b:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a49e:	3b 98 a0 00 00 00    	cmp    0xa0(%eax),%ebx
43a4a4:	74 44                	je     0x43a4ea
43a4a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a4a9:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
43a4af:	85 c0                	test   %eax,%eax
43a4b1:	74 17                	je     0x43a4ca
43a4b3:	83 b8 78 01 00 00 00 	cmpl   $0x0,0x178(%eax)
43a4ba:	74 0e                	je     0x43a4ca
43a4bc:	8b 80 78 01 00 00    	mov    0x178(%eax),%eax
43a4c2:	8b 55 fc             	mov    -0x4(%ebp),%edx
43a4c5:	e8 06 9a fd ff       	call   0x413ed0
43a4ca:	85 db                	test   %ebx,%ebx
43a4cc:	74 1c                	je     0x43a4ea
43a4ce:	83 fb ff             	cmp    $0xffffffff,%ebx
43a4d1:	74 17                	je     0x43a4ea
43a4d3:	83 bb 78 01 00 00 00 	cmpl   $0x0,0x178(%ebx)
43a4da:	74 0e                	je     0x43a4ea
43a4dc:	8b 83 78 01 00 00    	mov    0x178(%ebx),%eax
43a4e2:	8b 55 fc             	mov    -0x4(%ebp),%edx
43a4e5:	e8 46 97 fd ff       	call   0x413c30
43a4ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a4ed:	66 81 48 54 00 04    	orw    $0x400,0x54(%eax)
43a4f3:	33 d2                	xor    %edx,%edx
43a4f5:	55                   	push   %ebp
43a4f6:	68 7f a5 43 00       	push   $0x43a57f
43a4fb:	64 ff 32             	push   %fs:(%edx)
43a4fe:	64 89 22             	mov    %esp,%fs:(%edx)
43a501:	83 fb ff             	cmp    $0xffffffff,%ebx
43a504:	74 11                	je     0x43a517
43a506:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43a509:	8b d3                	mov    %ebx,%edx
43a50b:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a50e:	66 be e4 ff          	mov    $0xffe4,%si
43a512:	e8 51 8f fc ff       	call   0x403468