42305c:	74 2f                	je     0x42308d
42305e:	8b 47 0c             	mov    0xc(%edi),%eax
423061:	89 06                	mov    %eax,(%esi)
423063:	3b 7e 04             	cmp    0x4(%esi),%edi
423066:	75 04                	jne    0x42306c
423068:	83 66 04 00          	andl   $0x0,0x4(%esi)
42306c:	83 66 0c 00          	andl   $0x0,0xc(%esi)
423070:	8b cf                	mov    %edi,%ecx
423072:	83 66 10 00          	andl   $0x0,0x10(%esi)
423076:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
42307a:	6a 01                	push   $0x1
42307c:	e8 a4 9b fe ff       	call   0x40cc25
423081:	57                   	push   %edi
423082:	e8 b4 4c 00 00       	call   0x427d3b
423087:	ff 4e 08             	decl   0x8(%esi)
42308a:	59                   	pop    %ecx
42308b:	eb cb                	jmp    0x423058
42308d:	5f                   	pop    %edi
42308e:	5e                   	pop    %esi
42308f:	c3                   	ret
423090:	8b ff                	mov    %edi,%edi
423092:	55                   	push   %ebp
423093:	8b ec                	mov    %esp,%ebp
423095:	51                   	push   %ecx
423096:	53                   	push   %ebx
423097:	56                   	push   %esi
423098:	57                   	push   %edi
423099:	6a 10                	push   $0x10
42309b:	8b d9                	mov    %ecx,%ebx
42309d:	e8 70 4c 00 00       	call   0x427d12
4230a2:	8b f0                	mov    %eax,%esi
4230a4:	89 75 fc             	mov    %esi,-0x4(%ebp)
4230a7:	59                   	pop    %ecx
4230a8:	85 f6                	test   %esi,%esi
4230aa:	74 14                	je     0x4230c0
4230ac:	33 c0                	xor    %eax,%eax
4230ae:	8b fe                	mov    %esi,%edi
4230b0:	ab                   	stos   %eax,%es:(%edi)
4230b1:	ab                   	stos   %eax,%es:(%edi)
4230b2:	ab                   	stos   %eax,%es:(%edi)
4230b3:	ab                   	stos   %eax,%es:(%edi)
4230b4:	33 ff                	xor    %edi,%edi
4230b6:	89 3e                	mov    %edi,(%esi)
4230b8:	89 7e 08             	mov    %edi,0x8(%esi)
4230bb:	89 7e 04             	mov    %edi,0x4(%esi)
4230be:	eb 04                	jmp    0x4230c4
4230c0:	33 ff                	xor    %edi,%edi
4230c2:	8b f7                	mov    %edi,%esi
4230c4:	85 f6                	test   %esi,%esi
4230c6:	75 07                	jne    0x4230cf
4230c8:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
4230cd:	eb 3d                	jmp    0x42310c
4230cf:	ff 75 0c             	push   0xc(%ebp)
4230d2:	8b ce                	mov    %esi,%ecx
4230d4:	e8 94 9b fe ff       	call   0x40cc6d
4230d9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4230dc:	89 7e 0c             	mov    %edi,0xc(%esi)
4230df:	85 c9                	test   %ecx,%ecx
4230e1:	75 09                	jne    0x4230ec
4230e3:	8b 03                	mov    (%ebx),%eax
4230e5:	89 46 0c             	mov    %eax,0xc(%esi)
4230e8:	89 33                	mov    %esi,(%ebx)
4230ea:	eb 09                	jmp    0x4230f5
4230ec:	8b 41 0c             	mov    0xc(%ecx),%eax
4230ef:	89 46 0c             	mov    %eax,0xc(%esi)
4230f2:	89 71 0c             	mov    %esi,0xc(%ecx)
4230f5:	3b 4b 04             	cmp    0x4(%ebx),%ecx
4230f8:	75 03                	jne    0x4230fd
4230fa:	89 73 04             	mov    %esi,0x4(%ebx)
4230fd:	83 4b 14 ff          	orl    $0xffffffff,0x14(%ebx)
423101:	ff 43 08             	incl   0x8(%ebx)
423104:	33 c0                	xor    %eax,%eax
423106:	89 7b 0c             	mov    %edi,0xc(%ebx)
423109:	89 7b 10             	mov    %edi,0x10(%ebx)
42310c:	5f                   	pop    %edi
42310d:	5e                   	pop    %esi
42310e:	5b                   	pop    %ebx
42310f:	c9                   	leave
423110:	c2 08 00             	ret    $0x8
423113:	cc                   	int3
423114:	cc                   	int3
423115:	cc                   	int3
423116:	cc                   	int3
423117:	cc                   	int3
423118:	cc                   	int3
423119:	cc                   	int3
42311a:	cc                   	int3
42311b:	cc                   	int3
42311c:	cc                   	int3
42311d:	cc                   	int3
42311e:	cc                   	int3
42311f:	cc                   	int3
423120:	8b ff                	mov    %edi,%edi
423122:	55                   	push   %ebp
423123:	8b ec                	mov    %esp,%ebp
423125:	56                   	push   %esi
423126:	8b f1                	mov    %ecx,%esi
423128:	6a 01                	push   $0x1
42312a:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
42312e:	8d 4e 28             	lea    0x28(%esi),%ecx
423131:	c7 06 2c 12 40 00    	movl   $0x40122c,(%esi)
423137:	e8 e9 9a fe ff       	call   0x40cc25
42313c:	6a 01                	push   $0x1
42313e:	8d 4e 04             	lea    0x4(%esi),%ecx
423141:	e8 df 9a fe ff       	call   0x40cc25
423146:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
42314a:	c7 06 dc 10 40 00    	movl   $0x4010dc,(%esi)
423150:	74 07                	je     0x423159
423152:	56                   	push   %esi
423153:	e8 e3 4b 00 00       	call   0x427d3b
423158:	59                   	pop    %ecx
423159:	8b c6                	mov    %esi,%eax
42315b:	5e                   	pop    %esi
42315c:	5d                   	pop    %ebp
42315d:	c2 04 00             	ret    $0x4
423160:	8b ff                	mov    %edi,%edi
423162:	55                   	push   %ebp
423163:	8b ec                	mov    %esp,%ebp
423165:	83 ec 18             	sub    $0x18,%esp
423168:	53                   	push   %ebx
423169:	8b 5d 08             	mov    0x8(%ebp),%ebx
42316c:	56                   	push   %esi
42316d:	57                   	push   %edi
42316e:	33 ff                	xor    %edi,%edi
423170:	8b f3                	mov    %ebx,%esi
423172:	89 7d f8             	mov    %edi,-0x8(%ebp)
423175:	89 7d fc             	mov    %edi,-0x4(%ebp)
423178:	85 db                	test   %ebx,%ebx
42317a:	0f 84 4f 01 00 00    	je     0x4232cf
423180:	8b cb                	mov    %ebx,%ecx
423182:	8d 51 02             	lea    0x2(%ecx),%edx
423185:	66 8b 01             	mov    (%ecx),%ax
423188:	83 c1 02             	add    $0x2,%ecx
42318b:	66 3b c7             	cmp    %di,%ax
42318e:	75 f5                	jne    0x423185
423190:	2b ca                	sub    %edx,%ecx
423192:	d1 f9                	sar    $1,%ecx
423194:	0f 84 35 01 00 00    	je     0x4232cf
42319a:	8b c1                	mov    %ecx,%eax
42319c:	6a 02                	push   $0x2
42319e:	59                   	pop    %ecx
42319f:	f7 e1                	mul    %ecx
4231a1:	03 c1                	add    %ecx,%eax
4231a3:	89 45 f4             	mov    %eax,-0xc(%ebp)
4231a6:	13 d7                	adc    %edi,%edx
4231a8:	0f 85 1a 01 00 00    	jne    0x4232c8
4231ae:	83 f8 ff             	cmp    $0xffffffff,%eax
4231b1:	0f 83 11 01 00 00    	jae    0x4232c8
4231b7:	50                   	push   %eax
4231b8:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
4231be:	57                   	push   %edi
4231bf:	ff 70 18             	push   0x18(%eax)
4231c2:	ff 15 ec c3 42 00    	call   *0x42c3ec
4231c8:	8b 7d 14             	mov    0x14(%ebp),%edi
4231cb:	89 07                	mov    %eax,(%edi)
4231cd:	85 c0                	test   %eax,%eax
4231cf:	75 35                	jne    0x423206
4231d1:	68 64 51 40 00       	push   $0x405164
4231d6:	ff 15 e0 c3 42 00    	call   *0x42c3e0
4231dc:	83 3f 00             	cmpl   $0x0,(%edi)
4231df:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4231e4:	59                   	pop    %ecx
4231e5:	0f 84 d9 00 00 00    	je     0x4232c4
4231eb:	ff 37                	push   (%edi)
4231ed:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
4231f3:	33 db                	xor    %ebx,%ebx
4231f5:	53                   	push   %ebx
4231f6:	ff 70 18             	push   0x18(%eax)
4231f9:	ff 15 e8 c3 42 00    	call   *0x42c3e8
4231ff:	89 1f                	mov    %ebx,(%edi)
423201:	e9 be 00 00 00       	jmp    0x4232c4
423206:	ff 75 f4             	push   -0xc(%ebp)
423209:	6a 00                	push   $0x0
42320b:	50                   	push   %eax
42320c:	e8 9c 51 00 00       	call   0x4283ad
423211:	0f b7 03             	movzwl (%ebx),%eax
423214:	83 c4 0c             	add    $0xc,%esp
423217:	8b 3f                	mov    (%edi),%edi
423219:	66 85 c0             	test   %ax,%ax
42321c:	0f 84 9b 00 00 00    	je     0x4232bd
423222:	6a 20                	push   $0x20
423224:	8b c8                	mov    %eax,%ecx
423226:	58                   	pop    %eax
423227:	6a 02                	push   $0x2
423229:	5a                   	pop    %edx
42322a:	6a 20                	push   $0x20
42322c:	66 3b c8             	cmp    %ax,%cx
42322f:	59                   	pop    %ecx
423230:	75 15                	jne    0x423247
423232:	8b 45 f8             	mov    -0x8(%ebp),%eax
423235:	85 c0                	test   %eax,%eax
423237:	74 07                	je     0x423240
423239:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
423240:	03 f2                	add    %edx,%esi
423242:	66 39 0e             	cmp    %cx,(%esi)
423245:	74 ee                	je     0x423235
423247:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42324b:	74 0f                	je     0x42325c
42324d:	33 c0                	xor    %eax,%eax
42324f:	66 39 06             	cmp    %ax,(%esi)
423252:	74 08                	je     0x42325c
423254:	66 89 0f             	mov    %cx,(%edi)
423257:	03 fa                	add    %edx,%edi
423259:	89 45 fc             	mov    %eax,-0x4(%ebp)
42325c:	6a 03                	push   $0x3
42325e:	68 68 51 40 00       	push   $0x405168
423263:	56                   	push   %esi
423264:	ff 15 34 c3 42 00    	call   *0x42c334
42326a:	83 c4 0c             	add    $0xc,%esp
42326d:	85 c0                	test   %eax,%eax
42326f:	75 22                	jne    0x423293
423271:	0f b7 46 06          	movzwl 0x6(%esi),%eax
423275:	66 85 c0             	test   %ax,%ax
423278:	74 08                	je     0x423282
42327a:	6a 20                	push   $0x20
42327c:	5a                   	pop    %edx
42327d:	66 3b c2             	cmp    %dx,%ax
423280:	75 11                	jne    0x423293
423282:	3b f3                	cmp    %ebx,%esi
423284:	74 0a                	je     0x423290
423286:	76 0b                	jbe    0x423293
423288:	33 c0                	xor    %eax,%eax
42328a:	66 39 46 fe          	cmp    %ax,-0x2(%esi)
42328e:	75 03                	jne    0x423293
423290:	83 c6 06             	add    $0x6,%esi
423293:	0f b7 06             	movzwl (%esi),%eax
423296:	66 85 c0             	test   %ax,%ax
423299:	74 22                	je     0x4232bd
42329b:	6a 02                	push   $0x2
42329d:	5a                   	pop    %edx
42329e:	03 f2                	add    %edx,%esi
4232a0:	66 89 07             	mov    %ax,(%edi)
4232a3:	03 fa                	add    %edx,%edi
4232a5:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4232ac:	6a 20                	push   $0x20
4232ae:	0f b7 06             	movzwl (%esi),%eax
4232b1:	8b c8                	mov    %eax,%ecx
4232b3:	66 85 c0             	test   %ax,%ax
4232b6:	58                   	pop    %eax
4232b7:	0f 85 6d ff ff ff    	jne    0x42322a
4232bd:	33 c0                	xor    %eax,%eax
4232bf:	66 89 07             	mov    %ax,(%edi)
4232c2:	8b f0                	mov    %eax,%esi
4232c4:	8b c6                	mov    %esi,%eax
4232c6:	eb 18                	jmp    0x4232e0
4232c8:	68 54 51 40 00       	push   $0x405154
4232cd:	eb 05                	jmp    0x4232d4
4232cf:	68 44 51 40 00       	push   $0x405144
4232d4:	ff 15 e0 c3 42 00    	call   *0x42c3e0
4232da:	b8 57 00 07 80       	mov    $0x80070057,%eax
4232df:	59                   	pop    %ecx
4232e0:	5f                   	pop    %edi
4232e1:	5e                   	pop    %esi
4232e2:	5b                   	pop    %ebx
4232e3:	c9                   	leave
4232e4:	c2 10 00             	ret    $0x10
4232e7:	cc                   	int3
4232e8:	cc                   	int3
4232e9:	cc                   	int3
4232ea:	cc                   	int3
4232eb:	cc                   	int3
4232ec:	cc                   	int3
4232ed:	cc                   	int3
4232ee:	cc                   	int3
4232ef:	cc                   	int3
4232f0:	83 61 1c 00          	andl   $0x0,0x1c(%ecx)
4232f4:	33 c0                	xor    %eax,%eax
4232f6:	c3                   	ret
4232f7:	cc                   	int3
4232f8:	cc                   	int3
4232f9:	cc                   	int3
4232fa:	cc                   	int3
4232fb:	cc                   	int3
4232fc:	cc                   	int3
4232fd:	cc                   	int3
4232fe:	cc                   	int3
4232ff:	cc                   	int3
423300:	6a 10                	push   $0x10
423302:	b8 8d 84 42 00       	mov    $0x42848d,%eax
423307:	e8 5c 4d 00 00       	call   0x428068
42330c:	8b f9                	mov    %ecx,%edi
42330e:	33 c0                	xor    %eax,%eax
423310:	89 45 e4             	mov    %eax,-0x1c(%ebp)
423313:	89 45 ec             	mov    %eax,-0x14(%ebp)
423316:	89 45 e8             	mov    %eax,-0x18(%ebp)
423319:	8b 75 08             	mov    0x8(%ebp),%esi
42331c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42331f:	85 f6                	test   %esi,%esi
423321:	75 2f                	jne    0x423352
423323:	a1 00 b0 42 00       	mov    0x42b000,%eax
423328:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
42332d:	74 19                	je     0x423348
42332f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
423333:	74 13                	je     0x423348
423335:	ff 70 14             	push   0x14(%eax)
423338:	ba e0 52 40 00       	mov    $0x4052e0,%edx
42333d:	ff 70 10             	push   0x10(%eax)
423340:	6a 0a                	push   $0xa
423342:	59                   	pop    %ecx
423343:	e8 68 40 fe ff       	call   0x4073b0
423348:	be 57 00 07 80       	mov    $0x80070057,%esi
42334d:	e9 bf 01 00 00       	jmp    0x423511
423352:	68 60 1f 40 00       	push   $0x401f60
423357:	ff 36                	push   (%esi)
423359:	ff 15 2c c3 42 00    	call   *0x42c32c
42335f:	59                   	pop    %ecx
423360:	59                   	pop    %ecx
423361:	85 c0                	test   %eax,%eax
423363:	0f 84 8b 00 00 00    	je     0x4233f4
423369:	68 04 3d 40 00       	push   $0x403d04
42336e:	ff 36                	push   (%esi)
423370:	ff 15 2c c3 42 00    	call   *0x42c32c
423376:	59                   	pop    %ecx
423377:	59                   	pop    %ecx
423378:	85 c0                	test   %eax,%eax
42337a:	74 78                	je     0x4233f4
42337c:	68 34 3d 40 00       	push   $0x403d34
423381:	ff 36                	push   (%esi)
423383:	ff 15 2c c3 42 00    	call   *0x42c32c
423389:	59                   	pop    %ecx
42338a:	59                   	pop    %ecx
42338b:	85 c0                	test   %eax,%eax
42338d:	74 65                	je     0x4233f4
42338f:	68 48 3d 40 00       	push   $0x403d48
423394:	ff 36                	push   (%esi)
423396:	ff 15 2c c3 42 00    	call   *0x42c32c
42339c:	59                   	pop    %ecx
42339d:	59                   	pop    %ecx
42339e:	85 c0                	test   %eax,%eax
4233a0:	74 52                	je     0x4233f4
4233a2:	68 68 3d 40 00       	push   $0x403d68
4233a7:	ff 36                	push   (%esi)
4233a9:	ff 15 2c c3 42 00    	call   *0x42c32c
4233af:	59                   	pop    %ecx
4233b0:	59                   	pop    %ecx
4233b1:	85 c0                	test   %eax,%eax
4233b3:	74 3f                	je     0x4233f4
4233b5:	68 7c 3d 40 00       	push   $0x403d7c
4233ba:	ff 36                	push   (%esi)
4233bc:	ff 15 2c c3 42 00    	call   *0x42c32c
4233c2:	59                   	pop    %ecx
4233c3:	59                   	pop    %ecx
4233c4:	85 c0                	test   %eax,%eax
4233c6:	74 2c                	je     0x4233f4
4233c8:	be 01 40 00 80       	mov    $0x80004001,%esi
4233cd:	a1 00 b0 42 00       	mov    0x42b000,%eax
4233d2:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4233d7:	0f 84 34 01 00 00    	je     0x423511
4233dd:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4233e1:	0f 84 2a 01 00 00    	je     0x423511