422672:	47                   	inc    %edi
422673:	81 e7 0f 00 00 80    	and    $0x8000000f,%edi
422679:	79 05                	jns    0x422680
42267b:	4f                   	dec    %edi
42267c:	83 cf f0             	or     $0xfffffff0,%edi
42267f:	47                   	inc    %edi
422680:	69 c0 34 02 00 00    	imul   $0x234,%eax,%eax
422686:	8d b5 b4 dc ff ff    	lea    -0x234c(%ebp),%esi
42268c:	8d 8d 3c dc ff ff    	lea    -0x23c4(%ebp),%ecx
422692:	89 bd 90 dc ff ff    	mov    %edi,-0x2370(%ebp)
422698:	03 f0                	add    %eax,%esi
42269a:	8b d6                	mov    %esi,%edx
42269c:	e8 7f f5 ff ff       	call   0x421c20
4226a1:	8b d8                	mov    %eax,%ebx
4226a3:	85 db                	test   %ebx,%ebx
4226a5:	0f 85 25 fe ff ff    	jne    0x4224d0
4226ab:	e9 3f 02 00 00       	jmp    0x4228ef
4226b0:	ff 15 6c 20 45 00    	call   *0x45206c
4226b6:	ff b5 8c dc ff ff    	push   -0x2374(%ebp)
4226bc:	ff b6 10 02 00 00    	push   0x210(%esi)
4226c2:	ff b6 24 02 00 00    	push   0x224(%esi)
4226c8:	ff b6 28 02 00 00    	push   0x228(%esi)
4226ce:	50                   	push   %eax
4226cf:	68 90 f4 40 00       	push   $0x40f490
4226d4:	ff 15 10 23 45 00    	call   *0x452310
4226da:	83 c4 18             	add    $0x18,%esp
4226dd:	8d 8d 64 dc ff ff    	lea    -0x239c(%ebp),%ecx
4226e3:	b8 01 00 00 00       	mov    $0x1,%eax
4226e8:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4226ec:	6a 00                	push   $0x0
4226ee:	ff b6 10 02 00 00    	push   0x210(%esi)
4226f4:	8d 8d 6c dc ff ff    	lea    -0x2394(%ebp),%ecx
4226fa:	e8 b1 f4 ff ff       	call   0x421bb0
4226ff:	b9 e0 f4 40 00       	mov    $0x40f4e0,%ecx
422704:	e9 df 01 00 00       	jmp    0x4228e8
422709:	50                   	push   %eax
42270a:	51                   	push   %ecx
42270b:	ff b6 24 02 00 00    	push   0x224(%esi)
422711:	ff b6 28 02 00 00    	push   0x228(%esi)
422717:	68 d8 f5 40 00       	push   $0x40f5d8
42271c:	ff 15 10 23 45 00    	call   *0x452310
422722:	83 c4 14             	add    $0x14,%esp
422725:	8d 8d 64 dc ff ff    	lea    -0x239c(%ebp),%ecx
42272b:	8b c3                	mov    %ebx,%eax
42272d:	f0 0f c1 01          	lock xadd %eax,(%ecx)
422731:	8b 86 10 02 00 00    	mov    0x210(%esi),%eax
422737:	8d 8d 6c dc ff ff    	lea    -0x2394(%ebp),%ecx
42273d:	2b 85 ac dc ff ff    	sub    -0x2354(%ebp),%eax
422743:	6a 00                	push   $0x0
422745:	50                   	push   %eax
422746:	e8 65 f4 ff ff       	call   0x421bb0
42274b:	b9 58 f6 40 00       	mov    $0x40f658,%ecx
422750:	e9 93 01 00 00       	jmp    0x4228e8
422755:	ff 15 6c 20 45 00    	call   *0x45206c
42275b:	ff b5 ac dc ff ff    	push   -0x2354(%ebp)
422761:	ff b6 10 02 00 00    	push   0x210(%esi)
422767:	ff b6 24 02 00 00    	push   0x224(%esi)
42276d:	ff b6 28 02 00 00    	push   0x228(%esi)
422773:	50                   	push   %eax
422774:	68 10 f5 40 00       	push   $0x40f510
422779:	ff 15 10 23 45 00    	call   *0x452310
42277f:	83 c4 18             	add    $0x18,%esp
422782:	8d 8d 64 dc ff ff    	lea    -0x239c(%ebp),%ecx
422788:	8b c3                	mov    %ebx,%eax
42278a:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42278e:	6a 00                	push   $0x0
422790:	ff b6 10 02 00 00    	push   0x210(%esi)
422796:	8d 8d 6c dc ff ff    	lea    -0x2394(%ebp),%ecx
42279c:	e8 0f f4 ff ff       	call   0x421bb0
4227a1:	b9 88 f5 40 00       	mov    $0x40f588,%ecx
4227a6:	e9 3d 01 00 00       	jmp    0x4228e8
4227ab:	8b b5 a0 dc ff ff    	mov    -0x2360(%ebp),%esi
4227b1:	6a 00                	push   $0x0
4227b3:	6a 00                	push   $0x0
4227b5:	ff b5 80 dc ff ff    	push   -0x2380(%ebp)
4227bb:	ff b5 7c dc ff ff    	push   -0x2384(%ebp)
4227c1:	56                   	push   %esi
4227c2:	ff 15 c8 20 45 00    	call   *0x4520c8
4227c8:	85 c0                	test   %eax,%eax
4227ca:	75 0a                	jne    0x4227d6
4227cc:	b9 1c fb 40 00       	mov    $0x40fb1c,%ecx
4227d1:	e9 12 01 00 00       	jmp    0x4228e8
4227d6:	56                   	push   %esi
4227d7:	ff 15 c4 20 45 00    	call   *0x4520c4
4227dd:	85 c0                	test   %eax,%eax
4227df:	75 0a                	jne    0x4227eb
4227e1:	b9 54 fb 40 00       	mov    $0x40fb54,%ecx
4227e6:	e9 fd 00 00 00       	jmp    0x4228e8
4227eb:	e8 00 11 00 00       	call   0x4238f0
4227f0:	68 4c f7 40 00       	push   $0x40f74c
4227f5:	ff 15 74 23 45 00    	call   *0x452374
4227fb:	8b b5 44 dc ff ff    	mov    -0x23bc(%ebp),%esi
422801:	83 c4 04             	add    $0x4,%esp
422804:	8b 95 48 dc ff ff    	mov    -0x23b8(%ebp),%edx
42280a:	8b ce                	mov    %esi,%ecx
42280c:	8b c2                	mov    %edx,%eax
42280e:	0f ac c1 14          	shrd   $0x14,%eax,%ecx
422812:	c1 e8 14             	shr    $0x14,%eax
422815:	50                   	push   %eax
422816:	51                   	push   %ecx
422817:	52                   	push   %edx
422818:	56                   	push   %esi
422819:	52                   	push   %edx
42281a:	56                   	push   %esi
42281b:	68 58 f7 40 00       	push   $0x40f758
422820:	ff 15 74 23 45 00    	call   *0x452374
422826:	8b b5 4c dc ff ff    	mov    -0x23b4(%ebp),%esi
42282c:	83 c4 1c             	add    $0x1c,%esp
42282f:	8b 95 50 dc ff ff    	mov    -0x23b0(%ebp),%edx
422835:	8b ce                	mov    %esi,%ecx
422837:	8b c2                	mov    %edx,%eax
422839:	0f ac c1 14          	shrd   $0x14,%eax,%ecx
42283d:	c1 e8 14             	shr    $0x14,%eax
422840:	50                   	push   %eax
422841:	51                   	push   %ecx
422842:	52                   	push   %edx
422843:	56                   	push   %esi
422844:	52                   	push   %edx
422845:	56                   	push   %esi
422846:	68 d8 f7 40 00       	push   $0x40f7d8
42284b:	ff 15 74 23 45 00    	call   *0x452374
422851:	83 c4 1c             	add    $0x1c,%esp
422854:	83 bd 3c dc ff ff 00 	cmpl   $0x0,-0x23c4(%ebp)
42285b:	0f 84 8e 00 00 00    	je     0x4228ef
422861:	8b 85 54 dc ff ff    	mov    -0x23ac(%ebp),%eax
422867:	50                   	push   %eax
422868:	68 58 f8 40 00       	push   $0x40f858
42286d:	ff 15 74 23 45 00    	call   *0x452374
422873:	8b b5 5c dc ff ff    	mov    -0x23a4(%ebp),%esi
422879:	8b ce                	mov    %esi,%ecx
42287b:	8b 95 60 dc ff ff    	mov    -0x23a0(%ebp),%edx
422881:	8b c2                	mov    %edx,%eax
422883:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
422887:	c1 e8 0a             	shr    $0xa,%eax
42288a:	50                   	push   %eax
42288b:	51                   	push   %ecx
42288c:	52                   	push   %edx
42288d:	56                   	push   %esi
42288e:	52                   	push   %edx
42288f:	56                   	push   %esi
422890:	68 a8 f8 40 00       	push   $0x40f8a8
422895:	ff 15 74 23 45 00    	call   *0x452374
42289b:	83 c4 24             	add    $0x24,%esp
42289e:	ff b5 64 dc ff ff    	push   -0x239c(%ebp)
4228a4:	68 28 f9 40 00       	push   $0x40f928
4228a9:	ff 15 74 23 45 00    	call   *0x452374
4228af:	8b b5 6c dc ff ff    	mov    -0x2394(%ebp),%esi
4228b5:	8b ce                	mov    %esi,%ecx
4228b7:	8b 95 70 dc ff ff    	mov    -0x2390(%ebp),%edx
4228bd:	8b c2                	mov    %edx,%eax
4228bf:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
4228c3:	c1 e8 0a             	shr    $0xa,%eax
4228c6:	50                   	push   %eax
4228c7:	51                   	push   %ecx
4228c8:	52                   	push   %edx
4228c9:	56                   	push   %esi
4228ca:	52                   	push   %edx
4228cb:	56                   	push   %esi
4228cc:	68 78 f9 40 00       	push   $0x40f978
4228d1:	ff 15 74 23 45 00    	call   *0x452374
4228d7:	83 c4 24             	add    $0x24,%esp
4228da:	eb 13                	jmp    0x4228ef
4228dc:	b9 b4 fb 40 00       	mov    $0x40fbb4,%ecx
4228e1:	eb 05                	jmp    0x4228e8
4228e3:	b9 84 fb 40 00       	mov    $0x40fb84,%ecx
4228e8:	e8 33 0f 00 00       	call   0x423820
4228ed:	33 db                	xor    %ebx,%ebx
4228ef:	ff b5 88 dc ff ff    	push   -0x2378(%ebp)
4228f5:	ff 15 10 21 45 00    	call   *0x452110
4228fb:	8b 85 a0 dc ff ff    	mov    -0x2360(%ebp),%eax
422901:	83 f8 ff             	cmp    $0xffffffff,%eax
422904:	74 07                	je     0x42290d
422906:	50                   	push   %eax
422907:	ff 15 10 21 45 00    	call   *0x452110
42290d:	8d b5 e4 de ff ff    	lea    -0x211c(%ebp),%esi
422913:	bf 10 00 00 00       	mov    $0x10,%edi
422918:	8b 06                	mov    (%esi),%eax
42291a:	85 c0                	test   %eax,%eax
42291c:	74 0e                	je     0x42292c
42291e:	68 00 80 00 00       	push   $0x8000
422923:	6a 00                	push   $0x0
422925:	50                   	push   %eax
422926:	ff 15 84 21 45 00    	call   *0x452184
42292c:	81 c6 34 02 00 00    	add    $0x234,%esi
422932:	83 ef 01             	sub    $0x1,%edi
422935:	75 e1                	jne    0x422918
422937:	8b 85 74 dc ff ff    	mov    -0x238c(%ebp),%eax
42293d:	85 c0                	test   %eax,%eax
42293f:	75 09                	jne    0x42294a
422941:	f7 db                	neg    %ebx
422943:	1b db                	sbb    %ebx,%ebx
422945:	f7 db                	neg    %ebx
422947:	8d 43 ff             	lea    -0x1(%ebx),%eax
42294a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42294d:	5f                   	pop    %edi
42294e:	5e                   	pop    %esi
42294f:	33 cd                	xor    %ebp,%ecx
422951:	5b                   	pop    %ebx
422952:	e8 f9 a5 02 00       	call   0x44cf50
422957:	8b e5                	mov    %ebp,%esp
422959:	5d                   	pop    %ebp
42295a:	c2 04 00             	ret    $0x4
42295d:	cc                   	int3
42295e:	cc                   	int3
42295f:	cc                   	int3
422960:	8b ff                	mov    %edi,%edi
422962:	56                   	push   %esi
422963:	57                   	push   %edi
422964:	8b f9                	mov    %ecx,%edi
422966:	be 01 00 00 00       	mov    $0x1,%esi
42296b:	f0 0f c1 35 3c 15 45 	lock xadd %esi,0x45153c
422972:	00
422973:	46                   	inc    %esi
422974:	4e                   	dec    %esi
422975:	3b 35 c0 19 45 00    	cmp    0x4519c0,%esi
42297b:	7c 1d                	jl     0x42299a
42297d:	ff 77 60             	push   0x60(%edi)
422980:	ff 15 34 22 45 00    	call   *0x452234
422986:	85 c0                	test   %eax,%eax
422988:	0f 85 a8 00 00 00    	jne    0x422a36
42298e:	5f                   	pop    %edi
42298f:	b9 b0 fe 40 00       	mov    $0x40feb0,%ecx
422994:	5e                   	pop    %esi
422995:	e9 86 0e 00 00       	jmp    0x423820
42299a:	8b 0d c0 18 45 00    	mov    0x4518c0,%ecx
4229a0:	85 c9                	test   %ecx,%ecx
4229a2:	74 17                	je     0x4229bb
4229a4:	33 d2                	xor    %edx,%edx
4229a6:	8d 46 01             	lea    0x1(%esi),%eax
4229a9:	f7 f1                	div    %ecx
4229ab:	85 d2                	test   %edx,%edx
4229ad:	75 0c                	jne    0x4229bb
4229af:	ff 35 c8 18 45 00    	push   0x4518c8
4229b5:	ff 15 3c 22 45 00    	call   *0x45223c
4229bb:	a1 1c 11 45 00       	mov    0x45111c,%eax
4229c0:	8b d0                	mov    %eax,%edx
4229c2:	8b 0d c4 18 45 00    	mov    0x4518c4,%ecx
4229c8:	0f af d6             	imul   %esi,%edx
4229cb:	2b ca                	sub    %edx,%ecx
4229cd:	3b c1                	cmp    %ecx,%eax
4229cf:	7c 02                	jl     0x4229d3
4229d1:	8b c1                	mov    %ecx,%eax
4229d3:	8b 0d 14 11 45 00    	mov    0x451114,%ecx
4229d9:	89 47 1c             	mov    %eax,0x1c(%edi)
4229dc:	0f af 05 10 11 45 00 	imul   0x451110,%eax
4229e3:	89 57 20             	mov    %edx,0x20(%edi)
4229e6:	89 47 18             	mov    %eax,0x18(%edi)
4229e9:	8b c2                	mov    %edx,%eax
4229eb:	d3 e0                	shl    %cl,%eax
4229ed:	8b 0d 18 11 45 00    	mov    0x451118,%ecx
4229f3:	d3 ea                	shr    %cl,%edx
4229f5:	89 47 08             	mov    %eax,0x8(%edi)
4229f8:	89 57 0c             	mov    %edx,0xc(%edi)
4229fb:	ff 15 54 22 45 00    	call   *0x452254
422a01:	57                   	push   %edi
422a02:	6a 00                	push   $0x0
422a04:	ff 77 18             	push   0x18(%edi)
422a07:	89 47 24             	mov    %eax,0x24(%edi)
422a0a:	ff 77 14             	push   0x14(%edi)
422a0d:	ff 77 64             	push   0x64(%edi)
422a10:	ff 15 bc 20 45 00    	call   *0x4520bc
422a16:	85 c0                	test   %eax,%eax
422a18:	75 1c                	jne    0x422a36
422a1a:	ff 15 6c 20 45 00    	call   *0x45206c
422a20:	3d e5 03 00 00       	cmp    $0x3e5,%eax
422a25:	74 0f                	je     0x422a36
422a27:	b9 24 f7 40 00       	mov    $0x40f724,%ecx
422a2c:	e8 ef 0d 00 00       	call   0x423820
422a31:	e9 47 ff ff ff       	jmp    0x42297d
422a36:	5f                   	pop    %edi
422a37:	5e                   	pop    %esi
422a38:	c3                   	ret
422a39:	cc                   	int3
422a3a:	cc                   	int3
422a3b:	cc                   	int3
422a3c:	cc                   	int3
422a3d:	cc                   	int3
422a3e:	cc                   	int3
422a3f:	cc                   	int3
422a40:	8b ff                	mov    %edi,%edi
422a42:	55                   	push   %ebp
422a43:	8b ec                	mov    %esp,%ebp
422a45:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
422a4b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
422a50:	33 c5                	xor    %ebp,%eax
422a52:	89 45 fc             	mov    %eax,-0x4(%ebp)
422a55:	8b d1                	mov    %ecx,%edx
422a57:	53                   	push   %ebx
422a58:	56                   	push   %esi
422a59:	57                   	push   %edi
422a5a:	8b 4a 1c             	mov    0x1c(%edx),%ecx
422a5d:	8b 5a 14             	mov    0x14(%edx),%ebx
422a60:	8b 42 20             	mov    0x20(%edx),%eax
422a63:	89 55 a4             	mov    %edx,-0x5c(%ebp)
422a66:	89 5d 88             	mov    %ebx,-0x78(%ebp)
422a69:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
422a6c:	85 c9                	test   %ecx,%ecx
422a6e:	0f 84 02 03 00 00    	je     0x422d76
422a74:	8d 48 01             	lea    0x1(%eax),%ecx
422a77:	f7 d0                	not    %eax
422a79:	89 4d b0             	mov    %ecx,-0x50(%ebp)
422a7c:	89 45 94             	mov    %eax,-0x6c(%ebp)
422a7f:	90                   	nop
422a80:	ff 42 28             	incl   0x28(%edx)
422a83:	03 c8                	add    %eax,%ecx
422a85:	a1 10 11 45 00       	mov    0x451110,%eax
422a8a:	0f af c8             	imul   %eax,%ecx
422a8d:	03 cb                	add    %ebx,%ecx
422a8f:	89 4d ac             	mov    %ecx,-0x54(%ebp)
422a92:	8b f1                	mov    %ecx,%esi
422a94:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
422a97:	8d 83 00 ff ff ff    	lea    -0x100(%ebx),%eax
422a9d:	3b c8                	cmp    %eax,%ecx
422a9f:	77 37                	ja     0x422ad8
422aa1:	8b d6                	mov    %esi,%edx
422aa3:	b8 e8 03 41 00       	mov    $0x4103e8,%eax
422aa8:	bf fc 00 00 00       	mov    $0xfc,%edi
422aad:	8d 49 00             	lea    0x0(%ecx),%ecx
422ab0:	8b 0a                	mov    (%edx),%ecx
422ab2:	3b 08                	cmp    (%eax),%ecx
422ab4:	0f 85 8a 00 00 00    	jne    0x422b44
422aba:	83 c2 04             	add    $0x4,%edx
422abd:	83 c0 04             	add    $0x4,%eax
422ac0:	83 ef 04             	sub    $0x4,%edi
422ac3:	73 eb                	jae    0x422ab0
422ac5:	81 c6 00 01 00 00    	add    $0x100,%esi
422acb:	8d 83 00 ff ff ff    	lea    -0x100(%ebx),%eax
422ad1:	3b f0                	cmp    %eax,%esi
422ad3:	76 cc                	jbe    0x422aa1
422ad5:	8b 55 a4             	mov    -0x5c(%ebp),%edx
422ad8:	3b f3                	cmp    %ebx,%esi
422ada:	0f 83 78 02 00 00    	jae    0x422d58
422ae0:	2b de                	sub    %esi,%ebx
422ae2:	b9 e8 03 41 00       	mov    $0x4103e8,%ecx
422ae7:	83 eb 04             	sub    $0x4,%ebx
422aea:	72 15                	jb     0x422b01
422aec:	8d 64 24 00          	lea    0x0(%esp),%esp
422af0:	8b 06                	mov    (%esi),%eax
422af2:	3b 01                	cmp    (%ecx),%eax
422af4:	75 10                	jne    0x422b06
422af6:	83 c6 04             	add    $0x4,%esi
422af9:	83 c1 04             	add    $0x4,%ecx
422afc:	83 eb 04             	sub    $0x4,%ebx
422aff:	73 ef                	jae    0x422af0
422b01:	83 fb fc             	cmp    $0xfffffffc,%ebx
422b04:	74 34                	je     0x422b3a
422b06:	8a 06                	mov    (%esi),%al
422b08:	3a 01                	cmp    (%ecx),%al
422b0a:	75 27                	jne    0x422b33
422b0c:	83 fb fd             	cmp    $0xfffffffd,%ebx