431045:	8b c7                	mov    %edi,%eax
431047:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43104a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
431051:	59                   	pop    %ecx
431052:	5f                   	pop    %edi
431053:	5e                   	pop    %esi
431054:	c9                   	leave
431055:	c2 04 00             	ret    $0x4
431058:	8b ff                	mov    %edi,%edi
43105a:	55                   	push   %ebp
43105b:	8b ec                	mov    %esp,%ebp
43105d:	56                   	push   %esi
43105e:	57                   	push   %edi
43105f:	8b f9                	mov    %ecx,%edi
431061:	6a 10                	push   $0x10
431063:	6a 18                	push   $0x18
431065:	8d 77 10             	lea    0x10(%edi),%esi
431068:	56                   	push   %esi
431069:	ff 75 08             	push   0x8(%ebp)
43106c:	ff 15 8c a4 43 00    	call   *0x43a48c
431072:	83 c4 10             	add    $0x10,%esp
431075:	8b cf                	mov    %edi,%ecx
431077:	6a 17                	push   $0x17
431079:	e8 86 30 fe ff       	call   0x414104
43107e:	8d 4e 02             	lea    0x2(%esi),%ecx
431081:	66 8b 06             	mov    (%esi),%ax
431084:	83 c6 02             	add    $0x2,%esi
431087:	66 85 c0             	test   %ax,%ax
43108a:	75 f5                	jne    0x431081
43108c:	2b f1                	sub    %ecx,%esi
43108e:	8b cf                	mov    %edi,%ecx
431090:	d1 fe                	sar    $1,%esi
431092:	56                   	push   %esi
431093:	e8 6c 30 fe ff       	call   0x414104
431098:	8b c7                	mov    %edi,%eax
43109a:	5f                   	pop    %edi
43109b:	5e                   	pop    %esi
43109c:	5d                   	pop    %ebp
43109d:	c2 08 00             	ret    $0x8
4310a0:	8b ff                	mov    %edi,%edi
4310a2:	55                   	push   %ebp
4310a3:	8b ec                	mov    %esp,%ebp
4310a5:	8d 41 10             	lea    0x10(%ecx),%eax
4310a8:	39 41 04             	cmp    %eax,0x4(%ecx)
4310ab:	74 0b                	je     0x4310b8
4310ad:	50                   	push   %eax
4310ae:	6a 17                	push   $0x17
4310b0:	ff 75 08             	push   0x8(%ebp)
4310b3:	e8 3c c0 fe ff       	call   0x41d0f4
4310b8:	5d                   	pop    %ebp
4310b9:	c2 04 00             	ret    $0x4
4310bc:	8b ff                	mov    %edi,%edi
4310be:	55                   	push   %ebp
4310bf:	8b ec                	mov    %esp,%ebp
4310c1:	53                   	push   %ebx
4310c2:	56                   	push   %esi
4310c3:	8b 75 14             	mov    0x14(%ebp),%esi
4310c6:	33 c0                	xor    %eax,%eax
4310c8:	57                   	push   %edi
4310c9:	8b f9                	mov    %ecx,%edi
4310cb:	bb 00 04 00 00       	mov    $0x400,%ebx
4310d0:	33 c9                	xor    %ecx,%ecx
4310d2:	66 89 0e             	mov    %cx,(%esi)
4310d5:	39 47 04             	cmp    %eax,0x4(%edi)
4310d8:	74 1b                	je     0x4310f5
4310da:	51                   	push   %ecx
4310db:	53                   	push   %ebx
4310dc:	56                   	push   %esi
4310dd:	ff 75 10             	push   0x10(%ebp)
4310e0:	ff 75 0c             	push   0xc(%ebp)
4310e3:	ff 77 04             	push   0x4(%edi)
4310e6:	68 00 08 00 00       	push   $0x800
4310eb:	ff 15 8c a1 43 00    	call   *0x43a18c
4310f1:	85 c0                	test   %eax,%eax
4310f3:	75 1c                	jne    0x431111
4310f5:	83 3f 00             	cmpl   $0x0,(%edi)
4310f8:	74 17                	je     0x431111
4310fa:	6a 00                	push   $0x0
4310fc:	53                   	push   %ebx
4310fd:	56                   	push   %esi
4310fe:	ff 75 10             	push   0x10(%ebp)
431101:	ff 75 0c             	push   0xc(%ebp)
431104:	ff 37                	push   (%edi)
431106:	68 00 08 00 00       	push   $0x800
43110b:	ff 15 8c a1 43 00    	call   *0x43a18c
431111:	5f                   	pop    %edi
431112:	5e                   	pop    %esi
431113:	5b                   	pop    %ebx
431114:	5d                   	pop    %ebp
431115:	c2 18 00             	ret    $0x18
431118:	68 98 00 00 00       	push   $0x98
43111d:	b8 7f f6 41 00       	mov    $0x41f67f,%eax
431122:	e8 1a 9d fe ff       	call   0x41ae41
431127:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
43112d:	8b 08                	mov    (%eax),%ecx
43112f:	a1 9c 91 43 00       	mov    0x43919c,%eax
431134:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
43113a:	7e 27                	jle    0x431163
43113c:	be 9c 91 43 00       	mov    $0x43919c,%esi
431141:	56                   	push   %esi
431142:	e8 dc 96 fe ff       	call   0x41a823
431147:	83 3d 9c 91 43 00 ff 	cmpl   $0xffffffff,0x43919c
43114e:	59                   	pop    %ecx
43114f:	75 12                	jne    0x431163
431151:	68 e0 fc 41 00       	push   $0x41fce0
431156:	e8 13 9b fe ff       	call   0x41ac6e
43115b:	56                   	push   %esi
43115c:	e8 6f 96 fe ff       	call   0x41a7d0
431161:	59                   	pop    %ecx
431162:	59                   	pop    %ecx
431163:	83 3d 84 91 43 00 00 	cmpl   $0x0,0x439184
43116a:	be fc 8f 43 00       	mov    $0x438ffc,%esi
43116f:	75 4a                	jne    0x4311bb
431171:	51                   	push   %ecx
431172:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
431178:	e8 17 11 00 00       	call   0x432294
43117d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
431181:	8b ce                	mov    %esi,%ecx
431183:	ff 70 04             	push   0x4(%eax)
431186:	e8 74 01 00 00       	call   0x4312ff
43118b:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
431191:	c7 85 5c ff ff ff c4 	movl   $0x4011c4,-0xa4(%ebp)
431198:	11 40 00
43119b:	85 c9                	test   %ecx,%ecx
43119d:	74 12                	je     0x4311b1
43119f:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4311a5:	3b c8                	cmp    %eax,%ecx
4311a7:	74 08                	je     0x4311b1
4311a9:	51                   	push   %ecx
4311aa:	ff 15 14 a4 43 00    	call   *0x43a414
4311b0:	59                   	pop    %ecx
4311b1:	c7 05 84 91 43 00 01 	movl   $0x1,0x439184
4311b8:	00 00 00
4311bb:	8b c6                	mov    %esi,%eax
4311bd:	e8 2e 9c fe ff       	call   0x41adf0
4311c2:	c3                   	ret
4311c3:	68 98 00 00 00       	push   $0x98
4311c8:	b8 7f f6 41 00       	mov    $0x41f67f,%eax
4311cd:	e8 6f 9c fe ff       	call   0x41ae41
4311d2:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
4311d8:	8b 08                	mov    (%eax),%ecx
4311da:	a1 a0 91 43 00       	mov    0x4391a0,%eax
4311df:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
4311e5:	7e 27                	jle    0x43120e
4311e7:	be a0 91 43 00       	mov    $0x4391a0,%esi
4311ec:	56                   	push   %esi
4311ed:	e8 31 96 fe ff       	call   0x41a823
4311f2:	83 3d a0 91 43 00 ff 	cmpl   $0xffffffff,0x4391a0
4311f9:	59                   	pop    %ecx
4311fa:	75 12                	jne    0x43120e
4311fc:	68 f0 fc 41 00       	push   $0x41fcf0
431201:	e8 68 9a fe ff       	call   0x41ac6e
431206:	56                   	push   %esi
431207:	e8 c4 95 fe ff       	call   0x41a7d0
43120c:	59                   	pop    %ecx
43120d:	59                   	pop    %ecx
43120e:	83 3d 7c 91 43 00 00 	cmpl   $0x0,0x43917c
431215:	be 04 90 43 00       	mov    $0x439004,%esi
43121a:	75 4a                	jne    0x431266
43121c:	51                   	push   %ecx
43121d:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
431223:	e8 3d 11 00 00       	call   0x432365
431228:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43122c:	8b ce                	mov    %esi,%ecx
43122e:	ff 70 04             	push   0x4(%eax)
431231:	e8 c9 00 00 00       	call   0x4312ff
431236:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
43123c:	c7 85 5c ff ff ff c4 	movl   $0x4011c4,-0xa4(%ebp)
431243:	11 40 00
431246:	85 c9                	test   %ecx,%ecx
431248:	74 12                	je     0x43125c
43124a:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
431250:	3b c8                	cmp    %eax,%ecx
431252:	74 08                	je     0x43125c
431254:	51                   	push   %ecx
431255:	ff 15 14 a4 43 00    	call   *0x43a414
43125b:	59                   	pop    %ecx
43125c:	c7 05 7c 91 43 00 01 	movl   $0x1,0x43917c
431263:	00 00 00
431266:	8b c6                	mov    %esi,%eax
431268:	e8 83 9b fe ff       	call   0x41adf0
43126d:	c3                   	ret
43126e:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
431274:	56                   	push   %esi
431275:	8b 08                	mov    (%eax),%ecx
431277:	a1 98 91 43 00       	mov    0x439198,%eax
43127c:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
431282:	7e 27                	jle    0x4312ab
431284:	be 98 91 43 00       	mov    $0x439198,%esi
431289:	56                   	push   %esi
43128a:	e8 94 95 fe ff       	call   0x41a823
43128f:	83 3d 98 91 43 00 ff 	cmpl   $0xffffffff,0x439198
431296:	59                   	pop    %ecx
431297:	75 12                	jne    0x4312ab
431299:	68 00 fd 41 00       	push   $0x41fd00
43129e:	e8 cb 99 fe ff       	call   0x41ac6e
4312a3:	56                   	push   %esi
4312a4:	e8 27 95 fe ff       	call   0x41a7d0
4312a9:	59                   	pop    %ecx
4312aa:	59                   	pop    %ecx
4312ab:	83 3d 80 91 43 00 00 	cmpl   $0x0,0x439180
4312b2:	be 0c 90 43 00       	mov    $0x43900c,%esi
4312b7:	75 16                	jne    0x4312cf
4312b9:	68 84 7a 40 00       	push   $0x407a84
4312be:	8b ce                	mov    %esi,%ecx
4312c0:	e8 3a 00 00 00       	call   0x4312ff
4312c5:	c7 05 80 91 43 00 01 	movl   $0x1,0x439180
4312cc:	00 00 00
4312cf:	8b c6                	mov    %esi,%eax
4312d1:	5e                   	pop    %esi
4312d2:	c3                   	ret
4312d3:	cc                   	int3
4312d4:	cc                   	int3
4312d5:	cc                   	int3
4312d6:	cc                   	int3
4312d7:	cc                   	int3
4312d8:	cc                   	int3
4312d9:	cc                   	int3
4312da:	cc                   	int3
4312db:	cc                   	int3
4312dc:	cc                   	int3
4312dd:	cc                   	int3
4312de:	cc                   	int3
4312df:	cc                   	int3
4312e0:	8b ff                	mov    %edi,%edi
4312e2:	55                   	push   %ebp
4312e3:	8b ec                	mov    %esp,%ebp
4312e5:	8d 41 10             	lea    0x10(%ecx),%eax
4312e8:	50                   	push   %eax
4312e9:	68 00 02 00 00       	push   $0x200
4312ee:	68 80 00 00 00       	push   $0x80
4312f3:	ff 75 08             	push   0x8(%ebp)
4312f6:	e8 71 36 fe ff       	call   0x41496c
4312fb:	5d                   	pop    %ebp
4312fc:	c2 04 00             	ret    $0x4
4312ff:	8b ff                	mov    %edi,%edi
431301:	55                   	push   %ebp
431302:	8b ec                	mov    %esp,%ebp
431304:	56                   	push   %esi
431305:	8b f1                	mov    %ecx,%esi
431307:	e8 e4 8b fe ff       	call   0x419ef0
43130c:	6a 02                	push   $0x2
43130e:	6a 00                	push   $0x0
431310:	ff 75 08             	push   0x8(%ebp)
431313:	ff 15 7c a1 43 00    	call   *0x43a17c
431319:	8b 4d 08             	mov    0x8(%ebp),%ecx
43131c:	6a 00                	push   $0x0
43131e:	6a 08                	push   $0x8
431320:	5a                   	pop    %edx
431321:	89 06                	mov    %eax,(%esi)
431323:	e8 1f 3a 00 00       	call   0x434d47
431328:	89 46 04             	mov    %eax,0x4(%esi)
43132b:	5e                   	pop    %esi
43132c:	5d                   	pop    %ebp
43132d:	c2 04 00             	ret    $0x4
431330:	8b ff                	mov    %edi,%edi
431332:	56                   	push   %esi
431333:	8b f1                	mov    %ecx,%esi
431335:	85 f6                	test   %esi,%esi
431337:	75 04                	jne    0x43133d
431339:	33 c0                	xor    %eax,%eax
43133b:	5e                   	pop    %esi
43133c:	c3                   	ret
43133d:	0f b7 06             	movzwl (%esi),%eax
431340:	53                   	push   %ebx
431341:	57                   	push   %edi
431342:	83 e8 1e             	sub    $0x1e,%eax
431345:	74 4b                	je     0x431392
431347:	2d ee 0f 00 00       	sub    $0xfee,%eax
43134c:	74 1b                	je     0x431369
43134e:	83 e8 12             	sub    $0x12,%eax
431351:	74 3f                	je     0x431392
431353:	2d ee 2f 00 00       	sub    $0x2fee,%eax
431358:	74 04                	je     0x43135e
43135a:	33 c0                	xor    %eax,%eax
43135c:	eb 37                	jmp    0x431395
43135e:	8b 4e 08             	mov    0x8(%esi),%ecx
431361:	5f                   	pop    %edi
431362:	5b                   	pop    %ebx
431363:	5e                   	pop    %esi
431364:	e9 c7 ff ff ff       	jmp    0x431330
431369:	33 c0                	xor    %eax,%eax
43136b:	39 46 0c             	cmp    %eax,0xc(%esi)
43136e:	74 25                	je     0x431395
431370:	8b d8                	mov    %eax,%ebx
431372:	39 46 08             	cmp    %eax,0x8(%esi)
431375:	76 1e                	jbe    0x431395
431377:	8b f8                	mov    %eax,%edi
431379:	85 c0                	test   %eax,%eax
43137b:	75 18                	jne    0x431395
43137d:	8b 4e 0c             	mov    0xc(%esi),%ecx
431380:	03 cf                	add    %edi,%ecx
431382:	e8 a9 ff ff ff       	call   0x431330
431387:	43                   	inc    %ebx
431388:	83 c7 10             	add    $0x10,%edi
43138b:	3b 5e 08             	cmp    0x8(%esi),%ebx
43138e:	72 e9                	jb     0x431379
431390:	eb 03                	jmp    0x431395
431392:	33 c0                	xor    %eax,%eax
431394:	40                   	inc    %eax
431395:	5f                   	pop    %edi
431396:	5b                   	pop    %ebx
431397:	5e                   	pop    %esi
431398:	c3                   	ret
431399:	8b ff                	mov    %edi,%edi
43139b:	57                   	push   %edi
43139c:	8b 39                	mov    (%ecx),%edi
43139e:	85 ff                	test   %edi,%edi
4313a0:	74 14                	je     0x4313b6
4313a2:	8b 07                	mov    (%edi),%eax
4313a4:	56                   	push   %esi
4313a5:	6a 01                	push   $0x1
4313a7:	8b 30                	mov    (%eax),%esi
4313a9:	8b ce                	mov    %esi,%ecx
4313ab:	ff 15 20 a5 43 00    	call   *0x43a520
4313b1:	8b cf                	mov    %edi,%ecx
4313b3:	ff d6                	call   *%esi
4313b5:	5e                   	pop    %esi
4313b6:	5f                   	pop    %edi
4313b7:	c3                   	ret
4313b8:	cc                   	int3
4313b9:	cc                   	int3
4313ba:	cc                   	int3
4313bb:	cc                   	int3
4313bc:	cc                   	int3
4313bd:	cc                   	int3
4313be:	cc                   	int3
4313bf:	cc                   	int3
4313c0:	8b ff                	mov    %edi,%edi
4313c2:	55                   	push   %ebp
4313c3:	8b ec                	mov    %esp,%ebp
4313c5:	6a ff                	push   $0xffffffff
4313c7:	68 6c e1 41 00       	push   $0x41e16c
4313cc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4313d2:	50                   	push   %eax
4313d3:	56                   	push   %esi
4313d4:	57                   	push   %edi
4313d5:	a1 08 85 43 00       	mov    0x438508,%eax
4313da:	33 c5                	xor    %ebp,%eax
4313dc:	50                   	push   %eax
4313dd:	8d 45 f4             	lea    -0xc(%ebp),%eax
4313e0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4313e6:	8b f9                	mov    %ecx,%edi
4313e8:	e8 e8 20 fe ff       	call   0x4134d5
4313ed:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4313f1:	74 15                	je     0x431408
4313f3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4313f7:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
4313fd:	8b ce                	mov    %esi,%ecx
4313ff:	57                   	push   %edi