43f1d2:	8d 70 44             	lea    0x44(%eax),%esi
43f1d5:	8d 7b 44             	lea    0x44(%ebx),%edi
43f1d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f1d9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f1da:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f1db:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f1dc:	5e                   	pop    %esi
43f1dd:	56                   	push   %esi
43f1de:	8d 70 5c             	lea    0x5c(%eax),%esi
43f1e1:	8d 7b 5c             	lea    0x5c(%ebx),%edi
43f1e4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f1e5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f1e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f1e7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f1e8:	5e                   	pop    %esi
43f1e9:	8b 50 40             	mov    0x40(%eax),%edx
43f1ec:	8b 43 40             	mov    0x40(%ebx),%eax
43f1ef:	8b 08                	mov    (%eax),%ecx
43f1f1:	ff 51 08             	call   *0x8(%ecx)
43f1f4:	5f                   	pop    %edi
43f1f5:	5e                   	pop    %esi
43f1f6:	5b                   	pop    %ebx
43f1f7:	c3                   	ret
43f1f8:	55                   	push   %ebp
43f1f9:	8b ec                	mov    %esp,%ebp
43f1fb:	56                   	push   %esi
43f1fc:	57                   	push   %edi
43f1fd:	8b fa                	mov    %edx,%edi
43f1ff:	8b f0                	mov    %eax,%esi
43f201:	8b 45 08             	mov    0x8(%ebp),%eax
43f204:	50                   	push   %eax
43f205:	8b d7                	mov    %edi,%edx
43f207:	8b 46 38             	mov    0x38(%esi),%eax
43f20a:	66 be e5 ff          	mov    $0xffe5,%si
43f20e:	e8 f1 47 fc ff       	call   0x403a04
43f213:	5f                   	pop    %edi
43f214:	5e                   	pop    %esi
43f215:	5d                   	pop    %ebp
43f216:	c2 04 00             	ret    $0x4
43f219:	8d 40 00             	lea    0x0(%eax),%eax
43f21c:	53                   	push   %ebx
43f21d:	56                   	push   %esi
43f21e:	8b da                	mov    %edx,%ebx
43f220:	8b c8                	mov    %eax,%ecx
43f222:	8b c1                	mov    %ecx,%eax
43f224:	99                   	cltd
43f225:	33 c2                	xor    %edx,%eax
43f227:	2b c2                	sub    %edx,%eax
43f229:	8b f0                	mov    %eax,%esi
43f22b:	8b c3                	mov    %ebx,%eax
43f22d:	99                   	cltd
43f22e:	33 c2                	xor    %edx,%eax
43f230:	2b c2                	sub    %edx,%eax
43f232:	3b f0                	cmp    %eax,%esi
43f234:	7d 05                	jge    0x43f23b
43f236:	8b c1                	mov    %ecx,%eax
43f238:	5e                   	pop    %esi
43f239:	5b                   	pop    %ebx
43f23a:	c3                   	ret
43f23b:	8b c3                	mov    %ebx,%eax
43f23d:	5e                   	pop    %esi
43f23e:	5b                   	pop    %ebx
43f23f:	c3                   	ret
43f240:	53                   	push   %ebx
43f241:	56                   	push   %esi
43f242:	57                   	push   %edi
43f243:	83 c4 f0             	add    $0xfffffff0,%esp
43f246:	8b f2                	mov    %edx,%esi
43f248:	8d 3c 24             	lea    (%esp),%edi
43f24b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f24c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f24d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f24e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43f24f:	8b d8                	mov    %eax,%ebx
43f251:	8b 43 0c             	mov    0xc(%ebx),%eax
43f254:	8b 14 24             	mov    (%esp),%edx
43f257:	3b c2                	cmp    %edx,%eax
43f259:	7c 06                	jl     0x43f261
43f25b:	3b 44 24 08          	cmp    0x8(%esp),%eax
43f25f:	7e 14                	jle    0x43f275
43f261:	2b d0                	sub    %eax,%edx
43f263:	8b 4c 24 08          	mov    0x8(%esp),%ecx
43f267:	2b c8                	sub    %eax,%ecx
43f269:	8b c1                	mov    %ecx,%eax
43f26b:	92                   	xchg   %eax,%edx
43f26c:	e8 ab ff ff ff       	call   0x43f21c
43f271:	8b f0                	mov    %eax,%esi
43f273:	eb 02                	jmp    0x43f277
43f275:	33 f6                	xor    %esi,%esi
43f277:	8b 43 10             	mov    0x10(%ebx),%eax
43f27a:	8b 54 24 04          	mov    0x4(%esp),%edx
43f27e:	3b c2                	cmp    %edx,%eax
43f280:	7c 06                	jl     0x43f288
43f282:	3b 44 24 0c          	cmp    0xc(%esp),%eax
43f286:	7e 12                	jle    0x43f29a
43f288:	2b d0                	sub    %eax,%edx
43f28a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43f28e:	2b c8                	sub    %eax,%ecx
43f290:	8b c1                	mov    %ecx,%eax
43f292:	92                   	xchg   %eax,%edx
43f293:	e8 84 ff ff ff       	call   0x43f21c
43f298:	eb 02                	jmp    0x43f29c
43f29a:	33 c0                	xor    %eax,%eax
43f29c:	85 f6                	test   %esi,%esi
43f29e:	75 04                	jne    0x43f2a4
43f2a0:	85 c0                	test   %eax,%eax
43f2a2:	74 0f                	je     0x43f2b3
43f2a4:	f7 d8                	neg    %eax
43f2a6:	50                   	push   %eax
43f2a7:	f7 de                	neg    %esi
43f2a9:	56                   	push   %esi
43f2aa:	8d 43 44             	lea    0x44(%ebx),%eax
43f2ad:	50                   	push   %eax
43f2ae:	e8 89 7a fc ff       	call   0x406d3c
43f2b3:	83 c4 10             	add    $0x10,%esp
43f2b6:	5f                   	pop    %edi
43f2b7:	5e                   	pop    %esi
43f2b8:	5b                   	pop    %ebx
43f2b9:	c3                   	ret
43f2ba:	8b c0                	mov    %eax,%eax
43f2bc:	56                   	push   %esi
43f2bd:	8b f0                	mov    %eax,%esi
43f2bf:	8b d6                	mov    %esi,%edx
43f2c1:	8b 46 38             	mov    0x38(%esi),%eax
43f2c4:	66 be db ff          	mov    $0xffdb,%si
43f2c8:	e8 37 47 fc ff       	call   0x403a04
43f2cd:	5e                   	pop    %esi
43f2ce:	c3                   	ret
43f2cf:	90                   	nop
43f2d0:	56                   	push   %esi
43f2d1:	8b f0                	mov    %eax,%esi
43f2d3:	8b d6                	mov    %esi,%edx
43f2d5:	8b 46 38             	mov    0x38(%esi),%eax
43f2d8:	66 be da ff          	mov    $0xffda,%si
43f2dc:	e8 23 47 fc ff       	call   0x403a04
43f2e1:	5e                   	pop    %esi
43f2e2:	c3                   	ret
43f2e3:	90                   	nop
43f2e4:	55                   	push   %ebp
43f2e5:	8b ec                	mov    %esp,%ebp
43f2e7:	33 c0                	xor    %eax,%eax
43f2e9:	5d                   	pop    %ebp
43f2ea:	c2 04 00             	ret    $0x4
43f2ed:	8d 40 00             	lea    0x0(%eax),%eax
43f2f0:	b8 04 00 00 00       	mov    $0x4,%eax
43f2f5:	c3                   	ret
43f2f6:	8b c0                	mov    %eax,%eax
43f2f8:	c3                   	ret
43f2f9:	8d 40 00             	lea    0x0(%eax),%eax
43f2fc:	55                   	push   %ebp
43f2fd:	8b ec                	mov    %esp,%ebp
43f2ff:	83 c4 f0             	add    $0xfffffff0,%esp
43f302:	53                   	push   %ebx
43f303:	56                   	push   %esi
43f304:	57                   	push   %edi
43f305:	8b 5d 0c             	mov    0xc(%ebp),%ebx
43f308:	8b 75 08             	mov    0x8(%ebp),%esi
43f30b:	8b fb                	mov    %ebx,%edi
43f30d:	3b 77 04             	cmp    0x4(%edi),%esi
43f310:	75 04                	jne    0x43f316
43f312:	33 c0                	xor    %eax,%eax
43f314:	eb 46                	jmp    0x43f35c
43f316:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
43f31a:	75 20                	jne    0x43f33c
43f31c:	8d 45 f0             	lea    -0x10(%ebp),%eax
43f31f:	50                   	push   %eax
43f320:	56                   	push   %esi
43f321:	e8 36 79 fc ff       	call   0x406c5c
43f326:	ff 77 10             	push   0x10(%edi)
43f329:	ff 77 0c             	push   0xc(%edi)
43f32c:	8d 45 f0             	lea    -0x10(%ebp),%eax
43f32f:	50                   	push   %eax
43f330:	e8 27 7a fc ff       	call   0x406d5c
43f335:	85 c0                	test   %eax,%eax
43f337:	74 03                	je     0x43f33c
43f339:	89 77 08             	mov    %esi,0x8(%edi)
43f33c:	8b d3                	mov    %ebx,%edx
43f33e:	3b 72 08             	cmp    0x8(%edx),%esi
43f341:	75 08                	jne    0x43f34b
43f343:	33 c0                	xor    %eax,%eax
43f345:	c6 42 14 01          	movb   $0x1,0x14(%edx)
43f349:	eb 11                	jmp    0x43f35c
43f34b:	3b 32                	cmp    (%edx),%esi
43f34d:	75 0a                	jne    0x43f359
43f34f:	83 c8 ff             	or     $0xffffffff,%eax
43f352:	33 c9                	xor    %ecx,%ecx
43f354:	89 4a 08             	mov    %ecx,0x8(%edx)
43f357:	eb 03                	jmp    0x43f35c
43f359:	83 c8 ff             	or     $0xffffffff,%eax
43f35c:	5f                   	pop    %edi
43f35d:	5e                   	pop    %esi
43f35e:	5b                   	pop    %ebx
43f35f:	8b e5                	mov    %ebp,%esp
43f361:	5d                   	pop    %ebp
43f362:	c2 08 00             	ret    $0x8
43f365:	8d 40 00             	lea    0x0(%eax),%eax
43f368:	55                   	push   %ebp
43f369:	8b ec                	mov    %esp,%ebp
43f36b:	83 c4 c4             	add    $0xffffffc4,%esp
43f36e:	53                   	push   %ebx
43f36f:	56                   	push   %esi
43f370:	57                   	push   %edi
43f371:	8b d8                	mov    %eax,%ebx
43f373:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
43f377:	8b 45 08             	mov    0x8(%ebp),%eax
43f37a:	83 c0 f7             	add    $0xfffffff7,%eax
43f37d:	e8 36 04 00 00       	call   0x43f7b8
43f382:	8b f0                	mov    %eax,%esi
43f384:	89 75 ec             	mov    %esi,-0x14(%ebp)
43f387:	6a 04                	push   $0x4
43f389:	56                   	push   %esi
43f38a:	e8 ad 78 fc ff       	call   0x406c3c
43f38f:	8b 15 04 0c 46 00    	mov    0x460c04,%edx
43f395:	8b 12                	mov    (%edx),%edx
43f397:	3b 42 30             	cmp    0x30(%edx),%eax
43f39a:	74 27                	je     0x43f3c3
43f39c:	8b 45 ec             	mov    -0x14(%ebp),%eax
43f39f:	e8 28 f5 ff ff       	call   0x43e8cc
43f3a4:	8b f0                	mov    %eax,%esi
43f3a6:	85 f6                	test   %esi,%esi
43f3a8:	0f 84 48 01 00 00    	je     0x43f4f6
43f3ae:	eb 02                	jmp    0x43f3b2
43f3b0:	8b f0                	mov    %eax,%esi
43f3b2:	8b 46 30             	mov    0x30(%esi),%eax
43f3b5:	85 c0                	test   %eax,%eax
43f3b7:	75 f7                	jne    0x43f3b0
43f3b9:	8b c6                	mov    %esi,%eax
43f3bb:	e8 1c 8d 00 00       	call   0x4480dc
43f3c0:	89 45 ec             	mov    %eax,-0x14(%ebp)
43f3c3:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
43f3c7:	0f 84 29 01 00 00    	je     0x43f4f6
43f3cd:	8b f3                	mov    %ebx,%esi
43f3cf:	eb 02                	jmp    0x43f3d3
43f3d1:	8b f0                	mov    %eax,%esi
43f3d3:	8b 46 30             	mov    0x30(%esi),%eax
43f3d6:	85 c0                	test   %eax,%eax
43f3d8:	75 f7                	jne    0x43f3d1
43f3da:	8b c6                	mov    %esi,%eax
43f3dc:	e8 fb 8c 00 00       	call   0x4480dc
43f3e1:	8b f8                	mov    %eax,%edi
43f3e3:	89 7d e8             	mov    %edi,-0x18(%ebp)
43f3e6:	3b 7d ec             	cmp    -0x14(%ebp),%edi
43f3e9:	0f 84 07 01 00 00    	je     0x43f4f6
43f3ef:	8b 45 08             	mov    0x8(%ebp),%eax
43f3f2:	8b 40 f0             	mov    -0x10(%eax),%eax
43f3f5:	8b 40 30             	mov    0x30(%eax),%eax
43f3f8:	85 c0                	test   %eax,%eax
43f3fa:	74 1c                	je     0x43f418
43f3fc:	8b 55 08             	mov    0x8(%ebp),%edx
43f3ff:	8b f0                	mov    %eax,%esi
43f401:	eb 02                	jmp    0x43f405
43f403:	8b f0                	mov    %eax,%esi
43f405:	8b 46 30             	mov    0x30(%esi),%eax
43f408:	85 c0                	test   %eax,%eax
43f40a:	75 f7                	jne    0x43f403
43f40c:	8b c6                	mov    %esi,%eax
43f40e:	e8 c9 8c 00 00       	call   0x4480dc
43f413:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43f416:	eb 2a                	jmp    0x43f442
43f418:	8b 45 08             	mov    0x8(%ebp),%eax
43f41b:	8b 40 f0             	mov    -0x10(%eax),%eax
43f41e:	8b 15 08 df 43 00    	mov    0x43df08,%edx
43f424:	e8 6b 45 fc ff       	call   0x403994
43f429:	84 c0                	test   %al,%al
43f42b:	74 10                	je     0x43f43d
43f42d:	8b 45 08             	mov    0x8(%ebp),%eax
43f430:	8b 40 f0             	mov    -0x10(%eax),%eax
43f433:	e8 a4 8c 00 00       	call   0x4480dc
43f438:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43f43b:	eb 05                	jmp    0x43f442
43f43d:	33 c0                	xor    %eax,%eax
43f43f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43f442:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
43f446:	8b 45 08             	mov    0x8(%ebp),%eax
43f449:	8b 50 f7             	mov    -0x9(%eax),%edx
43f44c:	89 55 f0             	mov    %edx,-0x10(%ebp)
43f44f:	8b 50 fb             	mov    -0x5(%eax),%edx
43f452:	89 55 f4             	mov    %edx,-0xc(%ebp)
43f455:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43f458:	50                   	push   %eax
43f459:	68 fc f2 43 00       	push   $0x43f2fc
43f45e:	e8 19 72 fc ff       	call   0x40667c
43f463:	50                   	push   %eax
43f464:	e8 7b 76 fc ff       	call   0x406ae4
43f469:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
43f46d:	0f 84 83 00 00 00    	je     0x43f4f6
43f473:	8d 45 d4             	lea    -0x2c(%ebp),%eax
43f476:	50                   	push   %eax
43f477:	8b 45 ec             	mov    -0x14(%ebp),%eax
43f47a:	50                   	push   %eax
43f47b:	e8 dc 77 fc ff       	call   0x406c5c
43f480:	8b 45 08             	mov    0x8(%ebp),%eax
43f483:	83 c0 f7             	add    $0xfffffff7,%eax
43f486:	50                   	push   %eax
43f487:	8b 45 08             	mov    0x8(%ebp),%eax
43f48a:	48                   	dec    %eax
43f48b:	50                   	push   %eax
43f48c:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
43f48f:	8b 45 08             	mov    0x8(%ebp),%eax
43f492:	8b 50 f0             	mov    -0x10(%eax),%edx
43f495:	8b c3                	mov    %ebx,%eax
43f497:	66 be bd ff          	mov    $0xffbd,%si
43f49b:	e8 64 45 fc ff       	call   0x403a04
43f4a0:	a1 04 1b 46 00       	mov    0x461b04,%eax
43f4a5:	8b 15 e8 cc 43 00    	mov    0x43cce8,%edx
43f4ab:	e8 e4 44 fc ff       	call   0x403994
43f4b0:	84 c0                	test   %al,%al
43f4b2:	74 29                	je     0x43f4dd
43f4b4:	a1 04 1b 46 00       	mov    0x461b04,%eax
43f4b9:	8b 40 38             	mov    0x38(%eax),%eax
43f4bc:	83 b8 a0 00 00 00 00 	cmpl   $0x0,0xa0(%eax)
43f4c3:	74 18                	je     0x43f4dd
43f4c5:	a1 04 1b 46 00       	mov    0x461b04,%eax
43f4ca:	8b 40 38             	mov    0x38(%eax),%eax
43f4cd:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
43f4d3:	e8 04 8c 00 00       	call   0x4480dc
43f4d8:	3b 45 ec             	cmp    -0x14(%ebp),%eax
43f4db:	74 19                	je     0x43f4f6
43f4dd:	8d 45 c4             	lea    -0x3c(%ebp),%eax
43f4e0:	50                   	push   %eax
43f4e1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
43f4e4:	50                   	push   %eax
43f4e5:	8d 45 d4             	lea    -0x2c(%ebp),%eax
43f4e8:	50                   	push   %eax
43f4e9:	e8 a6 77 fc ff       	call   0x406c94
43f4ee:	85 c0                	test   %eax,%eax
43f4f0:	74 04                	je     0x43f4f6
43f4f2:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
43f4f6:	8a 45 ff             	mov    -0x1(%ebp),%al
43f4f9:	5f                   	pop    %edi
43f4fa:	5e                   	pop    %esi
43f4fb:	5b                   	pop    %ebx
43f4fc:	8b e5                	mov    %ebp,%esp
43f4fe:	5d                   	pop    %ebp
43f4ff:	c3                   	ret
43f500:	55                   	push   %ebp
43f501:	8b ec                	mov    %esp,%ebp
43f503:	8b 45 08             	mov    0x8(%ebp),%eax
43f506:	8b 40 f0             	mov    -0x10(%eax),%eax
43f509:	8b 15 08 df 43 00    	mov    0x43df08,%edx
43f50f:	e8 80 44 fc ff       	call   0x403994
43f514:	84 c0                	test   %al,%al
43f516:	74 25                	je     0x43f53d
43f518:	8b 45 08             	mov    0x8(%ebp),%eax
43f51b:	8b 40 ec             	mov    -0x14(%eax),%eax
43f51e:	e8 b9 8b 00 00       	call   0x4480dc
43f523:	50                   	push   %eax
43f524:	8b 45 08             	mov    0x8(%ebp),%eax
43f527:	8b 40 f0             	mov    -0x10(%eax),%eax
43f52a:	e8 ad 8b 00 00       	call   0x4480dc