43ef81:	89 45 dc             	mov    %eax,-0x24(%ebp)
43ef84:	c7 45 e0 ff ff ff ff 	movl   $0xffffffff,-0x20(%ebp)
43ef8b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
43ef8e:	50                   	push   %eax
43ef8f:	e8 c0 18 fe ff       	call   0x420854
43ef94:	8b 55 f8             	mov    -0x8(%ebp),%edx
43ef97:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ef9a:	e8 21 fc ff ff       	call   0x43ebc0
43ef9f:	84 c0                	test   %al,%al
43efa1:	0f 84 33 01 00 00    	je     0x43f0da
43efa7:	8b 45 f8             	mov    -0x8(%ebp),%eax
43efaa:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
43efae:	0f 85 31 01 00 00    	jne    0x43f0e5
43efb4:	8b 45 fc             	mov    -0x4(%ebp),%eax
43efb7:	e8 50 2c 00 00       	call   0x441c0c
43efbc:	84 c0                	test   %al,%al
43efbe:	0f 84 21 01 00 00    	je     0x43f0e5
43efc4:	8b 45 f8             	mov    -0x8(%ebp),%eax
43efc7:	8b 40 08             	mov    0x8(%eax),%eax
43efca:	50                   	push   %eax
43efcb:	8b 45 f8             	mov    -0x8(%ebp),%eax
43efce:	8b 40 04             	mov    0x4(%eax),%eax
43efd1:	50                   	push   %eax
43efd2:	8b 45 f8             	mov    -0x8(%ebp),%eax
43efd5:	8b 00                	mov    (%eax),%eax
43efd7:	50                   	push   %eax
43efd8:	8b 45 fc             	mov    -0x4(%ebp),%eax
43efdb:	e8 d0 28 00 00       	call   0x4418b0
43efe0:	50                   	push   %eax
43efe1:	e8 ca 7d fc ff       	call   0x406db0
43efe6:	e9 fa 00 00 00       	jmp    0x43f0e5
43efeb:	8b 55 f8             	mov    -0x8(%ebp),%edx
43efee:	33 c9                	xor    %ecx,%ecx
43eff0:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eff3:	e8 7c fa ff ff       	call   0x43ea74
43eff8:	84 c0                	test   %al,%al
43effa:	0f 84 da 00 00 00    	je     0x43f0da
43f000:	8b 45 f8             	mov    -0x8(%ebp),%eax
43f003:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
43f007:	0f 85 d8 00 00 00    	jne    0x43f0e5
43f00d:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f010:	e8 f7 2b 00 00       	call   0x441c0c
43f015:	84 c0                	test   %al,%al
43f017:	0f 84 c8 00 00 00    	je     0x43f0e5
43f01d:	8b 55 f8             	mov    -0x8(%ebp),%edx
43f020:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f023:	e8 d0 c1 ff ff       	call   0x43b1f8
43f028:	e9 b8 00 00 00       	jmp    0x43f0e5
43f02d:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f030:	e8 5b b6 ff ff       	call   0x43a690
43f035:	84 c0                	test   %al,%al
43f037:	0f 85 a8 00 00 00    	jne    0x43f0e5
43f03d:	e9 98 00 00 00       	jmp    0x43f0da
43f042:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f045:	e8 66 28 00 00       	call   0x4418b0
43f04a:	8b d8                	mov    %eax,%ebx
43f04c:	e8 2f 7e fc ff       	call   0x406e80
43f051:	3b d8                	cmp    %eax,%ebx
43f053:	0f 85 81 00 00 00    	jne    0x43f0da
43f059:	83 3d 1c 15 46 00 00 	cmpl   $0x0,0x46151c
43f060:	74 78                	je     0x43f0da
43f062:	a1 1c 15 46 00       	mov    0x46151c,%eax
43f067:	8b 40 30             	mov    0x30(%eax),%eax
43f06a:	3b 45 fc             	cmp    -0x4(%ebp),%eax
43f06d:	75 6b                	jne    0x43f0da
43f06f:	6a 00                	push   $0x0
43f071:	33 c9                	xor    %ecx,%ecx
43f073:	ba 1f 00 00 00       	mov    $0x1f,%edx
43f078:	a1 1c 15 46 00       	mov    0x46151c,%eax
43f07d:	e8 9a c0 ff ff       	call   0x43b11c
43f082:	eb 56                	jmp    0x43f0da
43f084:	8b 45 f8             	mov    -0x8(%ebp),%eax
43f087:	8b 40 04             	mov    0x4(%eax),%eax
43f08a:	84 c0                	test   %al,%al
43f08c:	74 0a                	je     0x43f098
43f08e:	b2 01                	mov    $0x1,%dl
43f090:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f093:	e8 0c 3c 00 00       	call   0x442ca4
43f098:	33 c0                	xor    %eax,%eax
43f09a:	55                   	push   %ebp
43f09b:	68 d3 f0 43 00       	push   $0x43f0d3
43f0a0:	64 ff 30             	push   %fs:(%eax)
43f0a3:	64 89 20             	mov    %esp,%fs:(%eax)
43f0a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f0a9:	8b 10                	mov    (%eax),%edx
43f0ab:	ff 92 b0 00 00 00    	call   *0xb0(%edx)
43f0b1:	33 c0                	xor    %eax,%eax
43f0b3:	5a                   	pop    %edx
43f0b4:	59                   	pop    %ecx
43f0b5:	59                   	pop    %ecx
43f0b6:	64 89 10             	mov    %edx,%fs:(%eax)
43f0b9:	68 e5 f0 43 00       	push   $0x43f0e5
43f0be:	8b 45 f8             	mov    -0x8(%ebp),%eax
43f0c1:	8b 40 04             	mov    0x4(%eax),%eax
43f0c4:	84 c0                	test   %al,%al
43f0c6:	74 0a                	je     0x43f0d2
43f0c8:	33 d2                	xor    %edx,%edx
43f0ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f0cd:	e8 d2 3b 00 00       	call   0x442ca4
43f0d2:	c3                   	ret
43f0d3:	e9 b0 4f fc ff       	jmp    0x404088
43f0d8:	eb e4                	jmp    0x43f0be
43f0da:	8b 55 f8             	mov    -0x8(%ebp),%edx
43f0dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f0e0:	e8 13 c1 ff ff       	call   0x43b1f8
43f0e5:	5b                   	pop    %ebx
43f0e6:	8b e5                	mov    %ebp,%esp
43f0e8:	5d                   	pop    %ebp
43f0e9:	c3                   	ret
43f0ea:	8b c0                	mov    %eax,%eax
43f0ec:	53                   	push   %ebx
43f0ed:	56                   	push   %esi
43f0ee:	57                   	push   %edi
43f0ef:	55                   	push   %ebp
43f0f0:	8b da                	mov    %edx,%ebx
43f0f2:	8b f0                	mov    %eax,%esi
43f0f4:	83 be b4 01 00 00 00 	cmpl   $0x0,0x1b4(%esi)
43f0fb:	0f 84 e3 00 00 00    	je     0x43f1e4
43f101:	8b 3b                	mov    (%ebx),%edi
43f103:	83 ff 7b             	cmp    $0x7b,%edi
43f106:	75 24                	jne    0x43f12c
43f108:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
43f10c:	74 1e                	je     0x43f12c
43f10e:	8b 43 08             	mov    0x8(%ebx),%eax
43f111:	50                   	push   %eax
43f112:	8b 4b 04             	mov    0x4(%ebx),%ecx
43f115:	8b d7                	mov    %edi,%edx
43f117:	8b 46 30             	mov    0x30(%esi),%eax
43f11a:	e8 fd bf ff ff       	call   0x43b11c
43f11f:	8b e8                	mov    %eax,%ebp
43f121:	89 6b 0c             	mov    %ebp,0xc(%ebx)
43f124:	85 ed                	test   %ebp,%ebp
43f126:	0f 85 c1 00 00 00    	jne    0x43f1ed
43f12c:	8b 3b                	mov    (%ebx),%edi
43f12e:	8b c7                	mov    %edi,%eax
43f130:	05 ce fe ff ff       	add    $0xfffffece,%eax
43f135:	83 e8 07             	sub    $0x7,%eax
43f138:	72 0c                	jb     0x43f146
43f13a:	05 07 44 ff ff       	add    $0xffff4407,%eax
43f13f:	83 e8 07             	sub    $0x7,%eax
43f142:	72 1c                	jb     0x43f160
43f144:	eb 59                	jmp    0x43f19f
43f146:	8b 6b 08             	mov    0x8(%ebx),%ebp
43f149:	55                   	push   %ebp
43f14a:	8b 43 04             	mov    0x4(%ebx),%eax
43f14d:	50                   	push   %eax
43f14e:	81 c7 00 bc 00 00    	add    $0xbc00,%edi
43f154:	57                   	push   %edi
43f155:	55                   	push   %ebp
43f156:	e8 f5 7f fc ff       	call   0x407150
43f15b:	89 43 0c             	mov    %eax,0xc(%ebx)
43f15e:	eb 6b                	jmp    0x43f1cb
43f160:	8b 46 68             	mov    0x68(%esi),%eax
43f163:	8b 40 18             	mov    0x18(%eax),%eax
43f166:	e8 25 39 fe ff       	call   0x422a90
43f16b:	50                   	push   %eax
43f16c:	8b 43 04             	mov    0x4(%ebx),%eax
43f16f:	50                   	push   %eax
43f170:	e8 8b 7b fc ff       	call   0x406d00
43f175:	8b 86 a4 01 00 00    	mov    0x1a4(%esi),%eax
43f17b:	e8 90 46 fe ff       	call   0x423810
43f180:	e8 0b 39 fe ff       	call   0x422a90
43f185:	50                   	push   %eax
43f186:	8b 43 04             	mov    0x4(%ebx),%eax
43f189:	50                   	push   %eax
43f18a:	e8 29 7b fc ff       	call   0x406cb8
43f18f:	8b 86 a4 01 00 00    	mov    0x1a4(%esi),%eax
43f195:	e8 b2 46 fe ff       	call   0x42384c
43f19a:	89 43 0c             	mov    %eax,0xc(%ebx)
43f19d:	eb 2c                	jmp    0x43f1cb
43f19f:	3b 3d 0c 15 47 00    	cmp    0x47150c,%edi
43f1a5:	75 05                	jne    0x43f1ac
43f1a7:	89 73 0c             	mov    %esi,0xc(%ebx)
43f1aa:	eb 1f                	jmp    0x43f1cb
43f1ac:	8b 43 08             	mov    0x8(%ebx),%eax
43f1af:	50                   	push   %eax
43f1b0:	8b 43 04             	mov    0x4(%ebx),%eax
43f1b3:	50                   	push   %eax
43f1b4:	57                   	push   %edi
43f1b5:	8b 86 b4 01 00 00    	mov    0x1b4(%esi),%eax
43f1bb:	50                   	push   %eax
43f1bc:	8b 86 a8 01 00 00    	mov    0x1a8(%esi),%eax
43f1c2:	50                   	push   %eax
43f1c3:	e8 90 7b fc ff       	call   0x406d58
43f1c8:	89 43 0c             	mov    %eax,0xc(%ebx)
43f1cb:	8b 03                	mov    (%ebx),%eax
43f1cd:	83 f8 0c             	cmp    $0xc,%eax
43f1d0:	75 1b                	jne    0x43f1ed
43f1d2:	8b 53 08             	mov    0x8(%ebx),%edx
43f1d5:	52                   	push   %edx
43f1d6:	8b 4b 04             	mov    0x4(%ebx),%ecx
43f1d9:	8b d0                	mov    %eax,%edx
43f1db:	8b c6                	mov    %esi,%eax
43f1dd:	e8 56 a8 ff ff       	call   0x439a38
43f1e2:	eb 09                	jmp    0x43f1ed
43f1e4:	8b d3                	mov    %ebx,%edx
43f1e6:	8b c6                	mov    %esi,%eax
43f1e8:	e8 db c2 ff ff       	call   0x43b4c8
43f1ed:	5d                   	pop    %ebp
43f1ee:	5f                   	pop    %edi
43f1ef:	5e                   	pop    %esi
43f1f0:	5b                   	pop    %ebx
43f1f1:	c3                   	ret
43f1f2:	8b c0                	mov    %eax,%eax
43f1f4:	53                   	push   %ebx
43f1f5:	56                   	push   %esi
43f1f6:	57                   	push   %edi
43f1f7:	8b f2                	mov    %edx,%esi
43f1f9:	33 db                	xor    %ebx,%ebx
43f1fb:	e8 fc 76 ff ff       	call   0x4368fc
43f200:	8b f8                	mov    %eax,%edi
43f202:	85 ff                	test   %edi,%edi
43f204:	74 1b                	je     0x43f221
43f206:	8b 46 08             	mov    0x8(%esi),%eax
43f209:	50                   	push   %eax
43f20a:	8b 4e 04             	mov    0x4(%esi),%ecx
43f20d:	8b 16                	mov    (%esi),%edx
43f20f:	81 c2 00 bc 00 00    	add    $0xbc00,%edx
43f215:	8b c7                	mov    %edi,%eax
43f217:	e8 00 bf ff ff       	call   0x43b11c
43f21c:	89 46 0c             	mov    %eax,0xc(%esi)
43f21f:	b3 01                	mov    $0x1,%bl
43f221:	8b c3                	mov    %ebx,%eax
43f223:	5f                   	pop    %edi
43f224:	5e                   	pop    %esi
43f225:	5b                   	pop    %ebx
43f226:	c3                   	ret
43f227:	90                   	nop
43f228:	55                   	push   %ebp
43f229:	8b ec                	mov    %esp,%ebp
43f22b:	83 c4 b0             	add    $0xffffffb0,%esp
43f22e:	53                   	push   %ebx
43f22f:	56                   	push   %esi
43f230:	57                   	push   %edi
43f231:	89 55 f8             	mov    %edx,-0x8(%ebp)
43f234:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f237:	8b 45 f8             	mov    -0x8(%ebp),%eax
43f23a:	8b 40 04             	mov    0x4(%eax),%eax
43f23d:	89 45 f0             	mov    %eax,-0x10(%ebp)
43f240:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
43f244:	75 15                	jne    0x43f25b
43f246:	8d 45 b0             	lea    -0x50(%ebp),%eax
43f249:	50                   	push   %eax
43f24a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f24d:	e8 5e 26 00 00       	call   0x4418b0
43f252:	50                   	push   %eax
43f253:	e8 f0 7a fc ff       	call   0x406d48
43f258:	89 45 f0             	mov    %eax,-0x10(%ebp)
43f25b:	33 c9                	xor    %ecx,%ecx
43f25d:	55                   	push   %ebp
43f25e:	68 87 f3 43 00       	push   $0x43f387
43f263:	64 ff 31             	push   %fs:(%ecx)
43f266:	64 89 21             	mov    %esp,%fs:(%ecx)
43f269:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f26c:	83 b8 cc 01 00 00 00 	cmpl   $0x0,0x1cc(%eax)
43f273:	75 13                	jne    0x43f288
43f275:	8b 55 f0             	mov    -0x10(%ebp),%edx
43f278:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f27b:	8b 08                	mov    (%eax),%ecx
43f27d:	ff 91 c4 00 00 00    	call   *0xc4(%ecx)
43f283:	e9 c9 00 00 00       	jmp    0x43f351
43f288:	8b 45 f0             	mov    -0x10(%ebp),%eax
43f28b:	50                   	push   %eax
43f28c:	e8 0f 7a fc ff       	call   0x406ca0
43f291:	89 45 f4             	mov    %eax,-0xc(%ebp)
43f294:	33 c9                	xor    %ecx,%ecx
43f296:	55                   	push   %ebp
43f297:	68 4a f3 43 00       	push   $0x43f34a
43f29c:	64 ff 31             	push   %fs:(%ecx)
43f29f:	64 89 21             	mov    %esp,%fs:(%ecx)
43f2a2:	bf 02 00 00 00       	mov    $0x2,%edi
43f2a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f2aa:	8b 80 cc 01 00 00    	mov    0x1cc(%eax),%eax
43f2b0:	8b 58 08             	mov    0x8(%eax),%ebx
43f2b3:	4b                   	dec    %ebx
43f2b4:	85 db                	test   %ebx,%ebx
43f2b6:	7c 66                	jl     0x43f31e
43f2b8:	43                   	inc    %ebx
43f2b9:	33 f6                	xor    %esi,%esi
43f2bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f2be:	8b 80 cc 01 00 00    	mov    0x1cc(%eax),%eax
43f2c4:	8b d6                	mov    %esi,%edx
43f2c6:	e8 a5 88 fd ff       	call   0x417b70
43f2cb:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
43f2cf:	74 0c                	je     0x43f2dd
43f2d1:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
43f2d5:	74 18                	je     0x43f2ef
43f2d7:	f6 40 55 08          	testb  $0x8,0x55(%eax)
43f2db:	74 12                	je     0x43f2ef
43f2dd:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
43f2e1:	74 37                	je     0x43f31a
43f2e3:	f6 40 55 08          	testb  $0x8,0x55(%eax)
43f2e7:	75 31                	jne    0x43f31a
43f2e9:	f6 40 51 04          	testb  $0x4,0x51(%eax)
43f2ed:	75 2b                	jne    0x43f31a
43f2ef:	f6 40 50 40          	testb  $0x40,0x50(%eax)
43f2f3:	74 25                	je     0x43f31a
43f2f5:	8b 48 44             	mov    0x44(%eax),%ecx
43f2f8:	03 48 4c             	add    0x4c(%eax),%ecx
43f2fb:	51                   	push   %ecx
43f2fc:	8b 50 40             	mov    0x40(%eax),%edx
43f2ff:	8b ca                	mov    %edx,%ecx
43f301:	03 48 48             	add    0x48(%eax),%ecx
43f304:	51                   	push   %ecx
43f305:	8b 48 44             	mov    0x44(%eax),%ecx
43f308:	51                   	push   %ecx
43f309:	52                   	push   %edx
43f30a:	8b 45 f0             	mov    -0x10(%ebp),%eax
43f30d:	50                   	push   %eax
43f30e:	e8 85 78 fc ff       	call   0x406b98
43f313:	8b f8                	mov    %eax,%edi
43f315:	83 ff 01             	cmp    $0x1,%edi
43f318:	74 04                	je     0x43f31e
43f31a:	46                   	inc    %esi
43f31b:	4b                   	dec    %ebx
43f31c:	75 9d                	jne    0x43f2bb
43f31e:	4f                   	dec    %edi
43f31f:	74 0e                	je     0x43f32f
43f321:	8b 55 f0             	mov    -0x10(%ebp),%edx
43f324:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f327:	8b 08                	mov    (%eax),%ecx
43f329:	ff 91 c4 00 00 00    	call   *0xc4(%ecx)
43f32f:	33 c0                	xor    %eax,%eax
43f331:	5a                   	pop    %edx
43f332:	59                   	pop    %ecx
43f333:	59                   	pop    %ecx
43f334:	64 89 10             	mov    %edx,%fs:(%eax)
43f337:	68 51 f3 43 00       	push   $0x43f351
43f33c:	8b 45 f4             	mov    -0xc(%ebp),%eax
43f33f:	50                   	push   %eax
43f340:	8b 45 f0             	mov    -0x10(%ebp),%eax
43f343:	50                   	push   %eax
43f344:	e8 4f 79 fc ff       	call   0x406c98
43f349:	c3                   	ret
43f34a:	e9 39 4d fc ff       	jmp    0x404088
43f34f:	eb eb                	jmp    0x43f33c
43f351:	33 c9                	xor    %ecx,%ecx
43f353:	8b 55 f0             	mov    -0x10(%ebp),%edx
43f356:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f359:	e8 62 00 00 00       	call   0x43f3c0
43f35e:	33 c0                	xor    %eax,%eax
43f360:	5a                   	pop    %edx
43f361:	59                   	pop    %ecx
43f362:	59                   	pop    %ecx
43f363:	64 89 10             	mov    %edx,%fs:(%eax)
43f366:	68 8e f3 43 00       	push   $0x43f38e
43f36b:	8b 45 f8             	mov    -0x8(%ebp),%eax
43f36e:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
43f372:	75 12                	jne    0x43f386
43f374:	8d 45 b0             	lea    -0x50(%ebp),%eax