403849:	cc                   	int3
40384a:	cc                   	int3
40384b:	cc                   	int3
40384c:	cc                   	int3
40384d:	cc                   	int3
40384e:	cc                   	int3
40384f:	cc                   	int3
403850:	8b ff                	mov    %edi,%edi
403852:	51                   	push   %ecx
403853:	e8 52 43 00 00       	call   0x407baa
403858:	68 d0 a6 40 00       	push   $0x40a6d0
40385d:	e8 5a 64 00 00       	call   0x409cbc
403862:	59                   	pop    %ecx
403863:	c3                   	ret
403864:	cc                   	int3
403865:	cc                   	int3
403866:	cc                   	int3
403867:	cc                   	int3
403868:	cc                   	int3
403869:	cc                   	int3
40386a:	cc                   	int3
40386b:	cc                   	int3
40386c:	cc                   	int3
40386d:	cc                   	int3
40386e:	cc                   	int3
40386f:	cc                   	int3
403870:	b9 c8 c0 40 00       	mov    $0x40c0c8,%ecx
403875:	e8 39 21 00 00       	call   0x4059b3
40387a:	68 f0 a6 40 00       	push   $0x40a6f0
40387f:	e8 38 64 00 00       	call   0x409cbc
403884:	59                   	pop    %ecx
403885:	c3                   	ret
403886:	cc                   	int3
403887:	cc                   	int3
403888:	cc                   	int3
403889:	cc                   	int3
40388a:	cc                   	int3
40388b:	cc                   	int3
40388c:	cc                   	int3
40388d:	cc                   	int3
40388e:	cc                   	int3
40388f:	cc                   	int3
403890:	b9 04 c2 40 00       	mov    $0x40c204,%ecx
403895:	e8 19 21 00 00       	call   0x4059b3
40389a:	85 c0                	test   %eax,%eax
40389c:	79 07                	jns    0x4038a5
40389e:	83 25 00 c2 40 00 00 	andl   $0x0,0x40c200
4038a5:	68 00 a7 40 00       	push   $0x40a700
4038aa:	e8 0d 64 00 00       	call   0x409cbc
4038af:	59                   	pop    %ecx
4038b0:	c3                   	ret
4038b1:	cc                   	int3
4038b2:	cc                   	int3
4038b3:	cc                   	int3
4038b4:	cc                   	int3
4038b5:	cc                   	int3
4038b6:	cc                   	int3
4038b7:	cc                   	int3
4038b8:	cc                   	int3
4038b9:	cc                   	int3
4038ba:	cc                   	int3
4038bb:	cc                   	int3
4038bc:	cc                   	int3
4038bd:	cc                   	int3
4038be:	cc                   	int3
4038bf:	cc                   	int3
4038c0:	b9 00 c1 40 00       	mov    $0x40c100,%ecx
4038c5:	e8 e9 20 00 00       	call   0x4059b3
4038ca:	85 c0                	test   %eax,%eax
4038cc:	78 0a                	js     0x4038d8
4038ce:	c7 05 f0 c0 40 00 28 	movl   $0x28,0x40c0f0
4038d5:	00 00 00
4038d8:	68 10 a7 40 00       	push   $0x40a710
4038dd:	e8 da 63 00 00       	call   0x409cbc
4038e2:	59                   	pop    %ecx
4038e3:	c3                   	ret
4038e4:	cc                   	int3
4038e5:	cc                   	int3
4038e6:	cc                   	int3
4038e7:	cc                   	int3
4038e8:	cc                   	int3
4038e9:	cc                   	int3
4038ea:	cc                   	int3
4038eb:	cc                   	int3
4038ec:	cc                   	int3
4038ed:	cc                   	int3
4038ee:	cc                   	int3
4038ef:	cc                   	int3
4038f0:	68 80 a7 40 00       	push   $0x40a780
4038f5:	e8 c2 63 00 00       	call   0x409cbc
4038fa:	59                   	pop    %ecx
4038fb:	c3                   	ret
4038fc:	cc                   	int3
4038fd:	cc                   	int3
4038fe:	cc                   	int3
4038ff:	cc                   	int3
403900:	68 90 a7 40 00       	push   $0x40a790
403905:	e8 b2 63 00 00       	call   0x409cbc
40390a:	59                   	pop    %ecx
40390b:	c3                   	ret
40390c:	cc                   	int3
40390d:	cc                   	int3
40390e:	cc                   	int3
40390f:	cc                   	int3
403910:	68 a0 a7 40 00       	push   $0x40a7a0
403915:	e8 a2 63 00 00       	call   0x409cbc
40391a:	59                   	pop    %ecx
40391b:	c3                   	ret
40391c:	cc                   	int3
40391d:	cc                   	int3
40391e:	cc                   	int3
40391f:	cc                   	int3
403920:	ff 31                	push   (%ecx)
403922:	ff 15 d0 f0 40 00    	call   *0x40f0d0
403928:	c3                   	ret
403929:	cc                   	int3
40392a:	cc                   	int3
40392b:	cc                   	int3
40392c:	cc                   	int3
40392d:	cc                   	int3
40392e:	cc                   	int3
40392f:	cc                   	int3
403930:	8b ff                	mov    %edi,%edi
403932:	55                   	push   %ebp
403933:	8b ec                	mov    %esp,%ebp
403935:	6a 00                	push   $0x0
403937:	ff 75 08             	push   0x8(%ebp)
40393a:	b9 c8 ed 40 00       	mov    $0x40edc8,%ecx
40393f:	6a 65                	push   $0x65
403941:	5a                   	pop    %edx
403942:	e8 37 40 00 00       	call   0x40797e
403947:	5d                   	pop    %ebp
403948:	c2 04 00             	ret    $0x4
40394b:	8b ff                	mov    %edi,%edi
40394d:	c3                   	ret
40394e:	cc                   	int3
40394f:	cc                   	int3
403950:	8b ff                	mov    %edi,%edi
403952:	55                   	push   %ebp
403953:	8b ec                	mov    %esp,%ebp
403955:	53                   	push   %ebx
403956:	56                   	push   %esi
403957:	8b 75 08             	mov    0x8(%ebp),%esi
40395a:	33 db                	xor    %ebx,%ebx
40395c:	6a ff                	push   $0xffffffff
40395e:	ff 76 34             	push   0x34(%esi)
403961:	ff 15 68 f0 40 00    	call   *0x40f068
403967:	68 88 13 00 00       	push   $0x1388
40396c:	ff 76 34             	push   0x34(%esi)
40396f:	88 5e 38             	mov    %bl,0x38(%esi)
403972:	ff 15 68 f0 40 00    	call   *0x40f068
403978:	85 c0                	test   %eax,%eax
40397a:	74 eb                	je     0x403967
40397c:	38 5e 38             	cmp    %bl,0x38(%esi)
40397f:	75 db                	jne    0x40395c
403981:	39 5e 08             	cmp    %ebx,0x8(%esi)
403984:	75 d6                	jne    0x40395c
403986:	ff 76 34             	push   0x34(%esi)
403989:	ff 15 74 f0 40 00    	call   *0x40f074
40398f:	53                   	push   %ebx
403990:	53                   	push   %ebx
403991:	6a 12                	push   $0x12
403993:	ff 76 30             	push   0x30(%esi)
403996:	ff 15 fc f0 40 00    	call   *0x40f0fc
40399c:	5e                   	pop    %esi
40399d:	33 c0                	xor    %eax,%eax
40399f:	5b                   	pop    %ebx
4039a0:	5d                   	pop    %ebp
4039a1:	c2 04 00             	ret    $0x4
4039a4:	cc                   	int3
4039a5:	cc                   	int3
4039a6:	cc                   	int3
4039a7:	cc                   	int3
4039a8:	cc                   	int3
4039a9:	cc                   	int3
4039aa:	cc                   	int3
4039ab:	cc                   	int3
4039ac:	cc                   	int3
4039ad:	cc                   	int3
4039ae:	cc                   	int3
4039af:	cc                   	int3
4039b0:	33 c0                	xor    %eax,%eax
4039b2:	40                   	inc    %eax
4039b3:	f0 0f c1 41 08       	lock xadd %eax,0x8(%ecx)
4039b8:	40                   	inc    %eax
4039b9:	c3                   	ret
4039ba:	cc                   	int3
4039bb:	cc                   	int3
4039bc:	cc                   	int3
4039bd:	cc                   	int3
4039be:	cc                   	int3
4039bf:	cc                   	int3
4039c0:	8b ff                	mov    %edi,%edi
4039c2:	56                   	push   %esi
4039c3:	83 ce ff             	or     $0xffffffff,%esi
4039c6:	f0 0f c1 71 08       	lock xadd %esi,0x8(%ecx)
4039cb:	4e                   	dec    %esi
4039cc:	75 0d                	jne    0x4039db
4039ce:	ff 71 34             	push   0x34(%ecx)
4039d1:	c6 41 38 01          	movb   $0x1,0x38(%ecx)
4039d5:	ff 15 a8 f0 40 00    	call   *0x40f0a8
4039db:	8b c6                	mov    %esi,%eax
4039dd:	5e                   	pop    %esi
4039de:	c3                   	ret
4039df:	cc                   	int3
4039e0:	8b ff                	mov    %edi,%edi
4039e2:	55                   	push   %ebp
4039e3:	8b ec                	mov    %esp,%ebp
4039e5:	56                   	push   %esi
4039e6:	8b f1                	mov    %ecx,%esi
4039e8:	c7 06 28 16 40 00    	movl   $0x401628,(%esi)
4039ee:	e8 56 20 00 00       	call   0x405a49
4039f3:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4039f7:	74 08                	je     0x403a01
4039f9:	56                   	push   %esi
4039fa:	ff 15 04 f2 40 00    	call   *0x40f204
403a00:	59                   	pop    %ecx
403a01:	8b c6                	mov    %esi,%eax
403a03:	5e                   	pop    %esi
403a04:	5d                   	pop    %ebp
403a05:	c2 04 00             	ret    $0x4
403a08:	8b ff                	mov    %edi,%edi
403a0a:	56                   	push   %esi
403a0b:	57                   	push   %edi
403a0c:	8b fa                	mov    %edx,%edi
403a0e:	8b f1                	mov    %ecx,%esi
403a10:	eb 2d                	jmp    0x403a3f
403a12:	66 83 3e 00          	cmpw   $0x0,(%esi)
403a16:	74 2b                	je     0x403a43
403a18:	8b c7                	mov    %edi,%eax
403a1a:	85 ff                	test   %edi,%edi
403a1c:	74 18                	je     0x403a36
403a1e:	0f b7 08             	movzwl (%eax),%ecx
403a21:	66 85 c9             	test   %cx,%cx
403a24:	74 10                	je     0x403a36
403a26:	66 39 0e             	cmp    %cx,(%esi)
403a29:	74 1d                	je     0x403a48
403a2b:	50                   	push   %eax
403a2c:	ff 15 f8 f0 40 00    	call   *0x40f0f8
403a32:	85 c0                	test   %eax,%eax
403a34:	75 e8                	jne    0x403a1e
403a36:	56                   	push   %esi
403a37:	ff 15 f8 f0 40 00    	call   *0x40f0f8
403a3d:	8b f0                	mov    %eax,%esi
403a3f:	85 f6                	test   %esi,%esi
403a41:	75 cf                	jne    0x403a12
403a43:	33 c0                	xor    %eax,%eax
403a45:	5f                   	pop    %edi
403a46:	5e                   	pop    %esi
403a47:	c3                   	ret
403a48:	56                   	push   %esi
403a49:	ff 15 f8 f0 40 00    	call   *0x40f0f8
403a4f:	eb f4                	jmp    0x403a45
403a51:	8b ff                	mov    %edi,%edi
403a53:	53                   	push   %ebx
403a54:	8b dc                	mov    %esp,%ebx
403a56:	51                   	push   %ecx
403a57:	51                   	push   %ecx
403a58:	83 e4 f8             	and    $0xfffffff8,%esp
403a5b:	83 c4 04             	add    $0x4,%esp
403a5e:	55                   	push   %ebp
403a5f:	8b 6b 04             	mov    0x4(%ebx),%ebp
403a62:	89 6c 24 04          	mov    %ebp,0x4(%esp)
403a66:	8b ec                	mov    %esp,%ebp
403a68:	83 ec 48             	sub    $0x48,%esp
403a6b:	a1 e4 c1 40 00       	mov    0x40c1e4,%eax
403a70:	33 c5                	xor    %ebp,%eax
403a72:	89 45 fc             	mov    %eax,-0x4(%ebp)
403a75:	56                   	push   %esi
403a76:	57                   	push   %edi
403a77:	ff 15 50 f0 40 00    	call   *0x40f050
403a7d:	89 45 bc             	mov    %eax,-0x44(%ebp)
403a80:	e8 ad 43 00 00       	call   0x407e32
403a85:	33 f6                	xor    %esi,%esi
403a87:	83 3d 80 c0 40 00 04 	cmpl   $0x4,0x40c080
403a8e:	76 2a                	jbe    0x403aba
403a90:	8d 45 e0             	lea    -0x20(%ebp),%eax
403a93:	c7 45 b8 e4 23 40 00 	movl   $0x4023e4,-0x48(%ebp)
403a9a:	50                   	push   %eax
403a9b:	8d 4d b8             	lea    -0x48(%ebp),%ecx
403a9e:	e8 49 fb ff ff       	call   0x4035ec
403aa3:	8d 45 c0             	lea    -0x40(%ebp),%eax
403aa6:	50                   	push   %eax
403aa7:	6a 03                	push   $0x3
403aa9:	56                   	push   %esi
403aaa:	56                   	push   %esi
403aab:	68 99 30 40 00       	push   $0x403099
403ab0:	68 80 c0 40 00       	push   $0x40c080
403ab5:	e8 a6 fa ff ff       	call   0x403560
403aba:	56                   	push   %esi
403abb:	ff 15 00 00 41 00    	call   *0x410000
403ac1:	56                   	push   %esi
403ac2:	6a 08                	push   $0x8
403ac4:	56                   	push   %esi
403ac5:	6a 02                	push   $0x2
403ac7:	6a 06                	push   $0x6
403ac9:	56                   	push   %esi
403aca:	56                   	push   %esi
403acb:	6a ff                	push   $0xffffffff
403acd:	56                   	push   %esi
403ace:	ff 15 20 f1 40 00    	call   *0x40f120
403ad4:	be 48 28 40 00       	mov    $0x402848,%esi
403ad9:	bf b0 c5 40 00       	mov    $0x40c5b0,%edi
403ade:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403adf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403ae0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403ae1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403ae2:	bf 10 c0 40 00       	mov    $0x40c010,%edi
403ae7:	83 ff ff             	cmp    $0xffffffff,%edi
403aea:	74 26                	je     0x403b12
403aec:	83 3d 10 c0 40 00 00 	cmpl   $0x0,0x40c010
403af3:	89 3d f4 ed 40 00    	mov    %edi,0x40edf4
403af9:	74 17                	je     0x403b12
403afb:	8b 77 20             	mov    0x20(%edi),%esi
403afe:	8b ce                	mov    %esi,%ecx
403b00:	6a 01                	push   $0x1
403b02:	ff 15 20 f2 40 00    	call   *0x40f220
403b08:	ff d6                	call   *%esi
403b0a:	8d 7f 24             	lea    0x24(%edi),%edi
403b0d:	83 3f 00             	cmpl   $0x0,(%edi)
403b10:	75 e9                	jne    0x403afb
403b12:	8b 3d f8 c0 40 00    	mov    0x40c0f8,%edi
403b18:	a1 fc c0 40 00       	mov    0x40c0fc,%eax
403b1d:	eb 1d                	jmp    0x403b3c
403b1f:	8b 37                	mov    (%edi),%esi
403b21:	85 f6                	test   %esi,%esi
403b23:	74 14                	je     0x403b39
403b25:	8b 76 20             	mov    0x20(%esi),%esi
403b28:	8b ce                	mov    %esi,%ecx
403b2a:	6a 01                	push   $0x1
403b2c:	ff 15 20 f2 40 00    	call   *0x40f220
403b32:	ff d6                	call   *%esi
403b34:	a1 fc c0 40 00       	mov    0x40c0fc,%eax
403b39:	83 c7 04             	add    $0x4,%edi
403b3c:	3b f8                	cmp    %eax,%edi
403b3e:	72 df                	jb     0x403b1f
403b40:	ff 15 54 f0 40 00    	call   *0x40f054
403b46:	8b 4d bc             	mov    -0x44(%ebp),%ecx
403b49:	33 ff                	xor    %edi,%edi
403b4b:	a3 f8 ed 40 00       	mov    %eax,0x40edf8
403b50:	a1 f8 23 40 00       	mov    0x4023f8,%eax
403b55:	89 45 f4             	mov    %eax,-0xc(%ebp)
403b58:	66 a1 fc 23 40 00    	mov    0x4023fc,%ax
403b5e:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
403b62:	eb 26                	jmp    0x403b8a
403b64:	68 00 24 40 00       	push   $0x402400
403b69:	56                   	push   %esi
403b6a:	ff 15 8c f0 40 00    	call   *0x40f08c
403b70:	85 c0                	test   %eax,%eax
403b72:	0f 84 83 00 00 00    	je     0x403bfb