43b04c:	53                   	push   %ebx
43b04d:	ff 15 0c 21 45 00    	call   *0x45210c
43b053:	53                   	push   %ebx
43b054:	ff 15 10 21 45 00    	call   *0x452110
43b05a:	8d 84 24 a0 00 00 00 	lea    0xa0(%esp),%eax
43b061:	50                   	push   %eax
43b062:	ff 15 d4 20 45 00    	call   *0x4520d4
43b068:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43b06c:	85 c0                	test   %eax,%eax
43b06e:	74 50                	je     0x43b0c0
43b070:	8b c8                	mov    %eax,%ecx
43b072:	e8 d9 23 00 00       	call   0x43d450
43b077:	eb 47                	jmp    0x43b0c0
43b079:	33 ff                	xor    %edi,%edi
43b07b:	89 7c 24 28          	mov    %edi,0x28(%esp)
43b07f:	e8 6c 2c 00 00       	call   0x43dcf0
43b084:	83 c0 10             	add    $0x10,%eax
43b087:	74 0a                	je     0x43b093
43b089:	e8 62 2c 00 00       	call   0x43dcf0
43b08e:	83 c0 14             	add    $0x14,%eax
43b091:	eb 02                	jmp    0x43b095
43b093:	33 c0                	xor    %eax,%eax
43b095:	81 3d 30 1a 45 00 0d 	cmpl   $0xfffffc0d,0x451a30
43b09c:	fc ff ff
43b09f:	c7 00 c8 28 41 00    	movl   $0x4128c8,(%eax)
43b0a5:	c7 40 04 a8 06 00 00 	movl   $0x6a8,0x4(%eax)
43b0ac:	c7 40 08 0d fc ff ff 	movl   $0xfffffc0d,0x8(%eax)
43b0b3:	75 06                	jne    0x43b0bb
43b0b5:	ff 15 58 20 45 00    	call   *0x452058
43b0bb:	bf 0d fc ff ff       	mov    $0xfffffc0d,%edi
43b0c0:	8b 5c 24 28          	mov    0x28(%esp),%ebx
43b0c4:	85 db                	test   %ebx,%ebx
43b0c6:	74 12                	je     0x43b0da
43b0c8:	8b 03                	mov    (%ebx),%eax
43b0ca:	6a 01                	push   $0x1
43b0cc:	8b 30                	mov    (%eax),%esi
43b0ce:	8b ce                	mov    %esi,%ecx
43b0d0:	ff 15 84 23 45 00    	call   *0x452384
43b0d6:	8b cb                	mov    %ebx,%ecx
43b0d8:	ff d6                	call   *%esi
43b0da:	8b 44 24 34          	mov    0x34(%esp),%eax
43b0de:	8b 74 24 10          	mov    0x10(%esp),%esi
43b0e2:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
43b0e8:	8b 44 24 38          	mov    0x38(%esp),%eax
43b0ec:	85 c0                	test   %eax,%eax
43b0ee:	74 07                	je     0x43b0f7
43b0f0:	50                   	push   %eax
43b0f1:	ff 15 10 21 45 00    	call   *0x452110
43b0f7:	83 7c 24 48 00       	cmpl   $0x0,0x48(%esp)
43b0fc:	74 10                	je     0x43b10e
43b0fe:	6a 00                	push   $0x0
43b100:	6a 00                	push   $0x0
43b102:	68 2c 29 41 00       	push   $0x41292c
43b107:	8b ce                	mov    %esi,%ecx
43b109:	e8 d2 07 00 00       	call   0x43b8e0
43b10e:	8b 8c 24 ac 02 00 00 	mov    0x2ac(%esp),%ecx
43b115:	8b c7                	mov    %edi,%eax
43b117:	5f                   	pop    %edi
43b118:	5e                   	pop    %esi
43b119:	5b                   	pop    %ebx
43b11a:	33 cc                	xor    %esp,%ecx
43b11c:	e8 2f 1e 01 00       	call   0x44cf50
43b121:	8b e5                	mov    %ebp,%esp
43b123:	5d                   	pop    %ebp
43b124:	c2 0c 00             	ret    $0xc
43b127:	cc                   	int3
43b128:	cc                   	int3
43b129:	cc                   	int3
43b12a:	cc                   	int3
43b12b:	cc                   	int3
43b12c:	cc                   	int3
43b12d:	cc                   	int3
43b12e:	cc                   	int3
43b12f:	cc                   	int3
43b130:	8b ff                	mov    %edi,%edi
43b132:	55                   	push   %ebp
43b133:	8b ec                	mov    %esp,%ebp
43b135:	8b 55 10             	mov    0x10(%ebp),%edx
43b138:	56                   	push   %esi
43b139:	f7 da                	neg    %edx
43b13b:	57                   	push   %edi
43b13c:	ff 75 0c             	push   0xc(%ebp)
43b13f:	1b d2                	sbb    %edx,%edx
43b141:	8b f9                	mov    %ecx,%edi
43b143:	33 c0                	xor    %eax,%eax
43b145:	81 e2 00 00 01 00    	and    $0x10000,%edx
43b14b:	39 45 14             	cmp    %eax,0x14(%ebp)
43b14e:	8b 37                	mov    (%edi),%esi
43b150:	0f 95 c0             	setne  %al
43b153:	0b d0                	or     %eax,%edx
43b155:	52                   	push   %edx
43b156:	ff 75 08             	push   0x8(%ebp)
43b159:	8b 76 60             	mov    0x60(%esi),%esi
43b15c:	8b ce                	mov    %esi,%ecx
43b15e:	ff 15 84 23 45 00    	call   *0x452384
43b164:	8b cf                	mov    %edi,%ecx
43b166:	ff d6                	call   *%esi
43b168:	5f                   	pop    %edi
43b169:	5e                   	pop    %esi
43b16a:	5d                   	pop    %ebp
43b16b:	c2 10 00             	ret    $0x10
43b16e:	cc                   	int3
43b16f:	cc                   	int3
43b170:	8b ff                	mov    %edi,%edi
43b172:	55                   	push   %ebp
43b173:	8b ec                	mov    %esp,%ebp
43b175:	83 e4 f8             	and    $0xfffffff8,%esp
43b178:	81 ec 14 03 00 00    	sub    $0x314,%esp
43b17e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43b183:	33 c4                	xor    %esp,%eax
43b185:	89 84 24 10 03 00 00 	mov    %eax,0x310(%esp)
43b18c:	8b 45 10             	mov    0x10(%ebp),%eax
43b18f:	89 44 24 28          	mov    %eax,0x28(%esp)
43b193:	53                   	push   %ebx
43b194:	8b 5d 0c             	mov    0xc(%ebp),%ebx
43b197:	8b c3                	mov    %ebx,%eax
43b199:	25 00 00 01 00       	and    $0x10000,%eax
43b19e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
43b1a2:	89 44 24 20          	mov    %eax,0x20(%esp)
43b1a6:	8b c3                	mov    %ebx,%eax
43b1a8:	83 e0 04             	and    $0x4,%eax
43b1ab:	89 44 24 08          	mov    %eax,0x8(%esp)
43b1af:	8b c3                	mov    %ebx,%eax
43b1b1:	56                   	push   %esi
43b1b2:	8b 75 08             	mov    0x8(%ebp),%esi
43b1b5:	83 e0 02             	and    $0x2,%eax
43b1b8:	57                   	push   %edi
43b1b9:	89 44 24 24          	mov    %eax,0x24(%esp)
43b1bd:	8b f9                	mov    %ecx,%edi
43b1bf:	33 c0                	xor    %eax,%eax
43b1c1:	89 7c 24 14          	mov    %edi,0x14(%esp)
43b1c5:	6a 34                	push   $0x34
43b1c7:	50                   	push   %eax
43b1c8:	66 89 84 24 98 00 00 	mov    %ax,0x98(%esp)
43b1cf:	00
43b1d0:	89 44 24 34          	mov    %eax,0x34(%esp)
43b1d4:	8d 44 24 64          	lea    0x64(%esp),%eax
43b1d8:	50                   	push   %eax
43b1d9:	e8 83 28 01 00       	call   0x44da61
43b1de:	33 c0                	xor    %eax,%eax
43b1e0:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
43b1e7:	00
43b1e8:	89 44 24 44          	mov    %eax,0x44(%esp)
43b1ec:	83 c4 0c             	add    $0xc,%esp
43b1ef:	8b c3                	mov    %ebx,%eax
43b1f1:	f7 d0                	not    %eax
43b1f3:	83 e0 01             	and    $0x1,%eax
43b1f6:	68 88 02 00 00       	push   $0x288
43b1fb:	40                   	inc    %eax
43b1fc:	6a 00                	push   $0x0
43b1fe:	ff 35 00 12 45 00    	push   0x451200
43b204:	c1 e0 1c             	shl    $0x1c,%eax
43b207:	89 44 24 28          	mov    %eax,0x28(%esp)
43b20b:	ff 15 24 21 45 00    	call   *0x452124
43b211:	85 c0                	test   %eax,%eax
43b213:	0f 84 21 06 00 00    	je     0x43b83a
43b219:	8b c8                	mov    %eax,%ecx
43b21b:	e8 30 cc 00 00       	call   0x447e50
43b220:	89 44 24 18          	mov    %eax,0x18(%esp)
43b224:	85 c0                	test   %eax,%eax
43b226:	0f 84 16 06 00 00    	je     0x43b842
43b22c:	8b 07                	mov    (%edi),%eax
43b22e:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
43b235:	51                   	push   %ecx
43b236:	56                   	push   %esi
43b237:	8b 70 1c             	mov    0x1c(%eax),%esi
43b23a:	8b ce                	mov    %esi,%ecx
43b23c:	ff 15 84 23 45 00    	call   *0x452384
43b242:	8b cf                	mov    %edi,%ecx
43b244:	ff d6                	call   *%esi
43b246:	8b f0                	mov    %eax,%esi
43b248:	89 74 24 0c          	mov    %esi,0xc(%esp)
43b24c:	85 f6                	test   %esi,%esi
43b24e:	0f 88 32 06 00 00    	js     0x43b886
43b254:	eb 04                	jmp    0x43b25a
43b256:	8b 5c 24 20          	mov    0x20(%esp),%ebx
43b25a:	33 f6                	xor    %esi,%esi
43b25c:	89 74 24 0c          	mov    %esi,0xc(%esp)
43b260:	89 74 24 30          	mov    %esi,0x30(%esp)
43b264:	39 74 24 28          	cmp    %esi,0x28(%esp)
43b268:	74 0a                	je     0x43b274
43b26a:	bb 00 00 00 80       	mov    $0x80000000,%ebx
43b26f:	8d 7e 01             	lea    0x1(%esi),%edi
43b272:	eb 41                	jmp    0x43b2b5
43b274:	8b fb                	mov    %ebx,%edi
43b276:	81 e7 00 00 04 00    	and    $0x40000,%edi
43b27c:	f7 c3 00 00 02 00    	test   $0x20000,%ebx
43b282:	74 07                	je     0x43b28b
43b284:	bb 00 00 00 c0       	mov    $0xc0000000,%ebx
43b289:	eb 12                	jmp    0x43b29d
43b28b:	8b df                	mov    %edi,%ebx
43b28d:	f7 db                	neg    %ebx
43b28f:	1b db                	sbb    %ebx,%ebx
43b291:	81 e3 00 00 ff bf    	and    $0xbfff0000,%ebx
43b297:	81 c3 00 00 01 c0    	add    $0xc0010000,%ebx
43b29d:	f7 44 24 20 00 00 02 	testl  $0x20000,0x20(%esp)
43b2a4:	00
43b2a5:	74 07                	je     0x43b2ae
43b2a7:	bf 01 00 00 00       	mov    $0x1,%edi
43b2ac:	eb 07                	jmp    0x43b2b5
43b2ae:	f7 df                	neg    %edi
43b2b0:	1b ff                	sbb    %edi,%edi
43b2b2:	83 e7 03             	and    $0x3,%edi
43b2b5:	39 35 68 1a 45 00    	cmp    %esi,0x451a68
43b2bb:	0f 84 c9 00 00 00    	je     0x43b38a
43b2c1:	39 35 6c 1a 45 00    	cmp    %esi,0x451a6c
43b2c7:	0f 85 bd 00 00 00    	jne    0x43b38a
43b2cd:	39 35 a4 14 45 00    	cmp    %esi,0x4514a4
43b2d3:	0f 84 b1 00 00 00    	je     0x43b38a
43b2d9:	39 35 64 1a 45 00    	cmp    %esi,0x451a64
43b2df:	74 12                	je     0x43b2f3
43b2e1:	ff 15 b4 21 45 00    	call   *0x4521b4
43b2e7:	3b 05 64 1a 45 00    	cmp    0x451a64,%eax
43b2ed:	0f 85 97 00 00 00    	jne    0x43b38a
43b2f3:	e8 38 ee fe ff       	call   0x42a130
43b2f8:	85 c0                	test   %eax,%eax
43b2fa:	74 03                	je     0x43b2ff
43b2fc:	ff 40 18             	incl   0x18(%eax)
43b2ff:	81 7c 24 1c 00 00 00 	cmpl   $0x10000000,0x1c(%esp)
43b306:	10
43b307:	b9 88 29 41 00       	mov    $0x412988,%ecx
43b30c:	74 05                	je     0x43b313
43b30e:	b9 a0 29 41 00       	mov    $0x4129a0,%ecx
43b313:	39 74 24 10          	cmp    %esi,0x10(%esp)
43b317:	75 0b                	jne    0x43b324
43b319:	b8 bc 29 41 00       	mov    $0x4129bc,%eax
43b31e:	39 74 24 24          	cmp    %esi,0x24(%esp)
43b322:	74 05                	je     0x43b329
43b324:	b8 b8 29 41 00       	mov    $0x4129b8,%eax
43b329:	51                   	push   %ecx
43b32a:	50                   	push   %eax
43b32b:	57                   	push   %edi
43b32c:	53                   	push   %ebx
43b32d:	68 d8 29 41 00       	push   $0x4129d8
43b332:	e8 99 f8 fe ff       	call   0x42abd0
43b337:	83 c4 14             	add    $0x14,%esp
43b33a:	8b f0                	mov    %eax,%esi
43b33c:	83 3d 54 1a 45 00 00 	cmpl   $0x0,0x451a54
43b343:	74 10                	je     0x43b355
43b345:	ff 35 a0 14 45 00    	push   0x4514a0
43b34b:	56                   	push   %esi
43b34c:	6a 00                	push   $0x0
43b34e:	6a 34                	push   $0x34
43b350:	e8 5b f1 fe ff       	call   0x42a4b0
43b355:	ff 35 a0 14 45 00    	push   0x4514a0
43b35b:	56                   	push   %esi
43b35c:	8b 35 58 1a 45 00    	mov    0x451a58,%esi
43b362:	8b ce                	mov    %esi,%ecx
43b364:	6a 00                	push   $0x0
43b366:	6a 34                	push   $0x34
43b368:	ff 15 84 23 45 00    	call   *0x452384
43b36e:	ff d6                	call   *%esi
43b370:	e8 bb ed fe ff       	call   0x42a130
43b375:	85 c0                	test   %eax,%eax
43b377:	74 0d                	je     0x43b386
43b379:	83 40 18 ff          	addl   $0xffffffff,0x18(%eax)
43b37d:	75 07                	jne    0x43b386
43b37f:	8b c8                	mov    %eax,%ecx
43b381:	e8 ca ec fe ff       	call   0x42a050
43b386:	8b 74 24 0c          	mov    0xc(%esp),%esi
43b38a:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
43b38f:	75 0c                	jne    0x43b39d
43b391:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
43b396:	b8 80 00 00 c0       	mov    $0xc0000080,%eax
43b39b:	74 05                	je     0x43b3a2
43b39d:	b8 80 00 00 40       	mov    $0x40000080,%eax
43b3a2:	0b 44 24 1c          	or     0x1c(%esp),%eax
43b3a6:	6a 00                	push   $0x0
43b3a8:	50                   	push   %eax
43b3a9:	6a 03                	push   $0x3
43b3ab:	6a 00                	push   $0x0
43b3ad:	57                   	push   %edi
43b3ae:	53                   	push   %ebx
43b3af:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
43b3b6:	50                   	push   %eax
43b3b7:	ff 15 ec 20 45 00    	call   *0x4520ec
43b3bd:	8b f8                	mov    %eax,%edi
43b3bf:	83 ff ff             	cmp    $0xffffffff,%edi
43b3c2:	75 2a                	jne    0x43b3ee
43b3c4:	ff 15 6c 20 45 00    	call   *0x45206c
43b3ca:	8b 5c 24 14          	mov    0x14(%esp),%ebx
43b3ce:	8b c8                	mov    %eax,%ecx
43b3d0:	89 4c 24 30          	mov    %ecx,0x30(%esp)
43b3d4:	51                   	push   %ecx
43b3d5:	8b 03                	mov    (%ebx),%eax
43b3d7:	8b 70 10             	mov    0x10(%eax),%esi
43b3da:	8b ce                	mov    %esi,%ecx
43b3dc:	ff 15 84 23 45 00    	call   *0x452384
43b3e2:	8b cb                	mov    %ebx,%ecx
43b3e4:	ff d6                	call   *%esi
43b3e6:	8b f0                	mov    %eax,%esi
43b3e8:	89 74 24 0c          	mov    %esi,0xc(%esp)
43b3ec:	eb 04                	jmp    0x43b3f2
43b3ee:	8b 5c 24 14          	mov    0x14(%esp),%ebx
43b3f2:	56                   	push   %esi
43b3f3:	8d 4c 24 44          	lea    0x44(%esp),%ecx
43b3f7:	e8 74 d5 ff ff       	call   0x438970
43b3fc:	85 c0                	test   %eax,%eax
43b3fe:	0f 85 52 fe ff ff    	jne    0x43b256
43b404:	85 f6                	test   %esi,%esi
43b406:	0f 88 01 04 00 00    	js     0x43b80d
43b40c:	6a 02                	push   $0x2
43b40e:	6a 02                	push   $0x2
43b410:	57                   	push   %edi
43b411:	ff 15 0c 21 45 00    	call   *0x45210c
43b417:	8d 44 24 5c          	lea    0x5c(%esp),%eax
43b41b:	50                   	push   %eax
43b41c:	57                   	push   %edi
43b41d:	ff 15 98 20 45 00    	call   *0x452098
43b423:	85 c0                	test   %eax,%eax
43b425:	75 2c                	jne    0x43b453
43b427:	ff 15 6c 20 45 00    	call   *0x45206c
43b42d:	8b c8                	mov    %eax,%ecx
43b42f:	8b 03                	mov    (%ebx),%eax
43b431:	89 4c 24 30          	mov    %ecx,0x30(%esp)
43b435:	51                   	push   %ecx
43b436:	8b 70 10             	mov    0x10(%eax),%esi
43b439:	8b ce                	mov    %esi,%ecx
43b43b:	ff 15 84 23 45 00    	call   *0x452384
43b441:	8b cb                	mov    %ebx,%ecx
43b443:	ff d6                	call   *%esi
43b445:	8b f0                	mov    %eax,%esi
43b447:	89 74 24 0c          	mov    %esi,0xc(%esp)
43b44b:	85 f6                	test   %esi,%esi
43b44d:	0f 88 ba 03 00 00    	js     0x43b80d
43b453:	8b 44 24 7c          	mov    0x7c(%esp),%eax
43b457:	8d 94 24 90 00 00 00 	lea    0x90(%esp),%edx
43b45e:	8b 5c 24 5c          	mov    0x5c(%esp),%ebx
43b462:	33 c9                	xor    %ecx,%ecx
43b464:	03 8c 24 80 00 00 00 	add    0x80(%esp),%ecx
43b46b:	8b 74 24 14          	mov    0x14(%esp),%esi
43b46f:	83 d0 00             	adc    $0x0,%eax
43b472:	89 4c 24 40          	mov    %ecx,0x40(%esp)
43b476:	89 44 24 3c          	mov    %eax,0x3c(%esp)
43b47a:	8b ce                	mov    %esi,%ecx
43b47c:	8d 44 24 24          	lea    0x24(%esp),%eax
43b480:	c1 eb 0b             	shr    $0xb,%ebx
43b483:	50                   	push   %eax
43b484:	83 e3 01             	and    $0x1,%ebx
43b487:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
43b48e:	00
43b48f:	e8 4c 1c 00 00       	call   0x43d0e0
43b494:	89 44 24 0c          	mov    %eax,0xc(%esp)
43b498:	85 c0                	test   %eax,%eax
43b49a:	0f 88 93 03 00 00    	js     0x43b833
43b4a0:	8b 44 24 24          	mov    0x24(%esp),%eax
43b4a4:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
43b4a8:	89 44 24 10          	mov    %eax,0x10(%esp)
43b4ac:	8b 06                	mov    (%esi),%eax
43b4ae:	51                   	push   %ecx