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
403b78:	68 18 24 40 00       	push   $0x402418
403b7d:	56                   	push   %esi
403b7e:	ff 15 8c f0 40 00    	call   *0x40f08c
403b84:	85 c0                	test   %eax,%eax
403b86:	74 53                	je     0x403bdb
403b88:	8b ce                	mov    %esi,%ecx
403b8a:	8d 55 f4             	lea    -0xc(%ebp),%edx
403b8d:	e8 76 fe ff ff       	call   0x403a08
403b92:	8b f0                	mov    %eax,%esi
403b94:	85 f6                	test   %esi,%esi
403b96:	75 cc                	jne    0x403b64
403b98:	50                   	push   %eax
403b99:	50                   	push   %eax
403b9a:	50                   	push   %eax
403b9b:	50                   	push   %eax
403b9c:	ff 15 40 f0 40 00    	call   *0x40f040
403ba2:	a3 fc ed 40 00       	mov    %eax,0x40edfc
403ba7:	be c8 ed 40 00       	mov    $0x40edc8,%esi
403bac:	85 c0                	test   %eax,%eax
403bae:	74 20                	je     0x403bd0
403bb0:	8d 45 bc             	lea    -0x44(%ebp),%eax
403bb3:	50                   	push   %eax
403bb4:	33 c0                	xor    %eax,%eax
403bb6:	50                   	push   %eax
403bb7:	56                   	push   %esi
403bb8:	68 50 39 40 00       	push   $0x403950
403bbd:	50                   	push   %eax
403bbe:	50                   	push   %eax
403bbf:	ff 15 44 f0 40 00    	call   *0x40f044
403bc5:	85 c0                	test   %eax,%eax
403bc7:	74 07                	je     0x403bd0
403bc9:	50                   	push   %eax
403bca:	ff 15 74 f0 40 00    	call   *0x40f074
403bd0:	51                   	push   %ecx
403bd1:	51                   	push   %ecx
403bd2:	8b ce                	mov    %esi,%ecx
403bd4:	e8 8f 14 00 00       	call   0x405068
403bd9:	eb 48                	jmp    0x403c23
403bdb:	6a 00                	push   $0x0
403bdd:	6a 01                	push   $0x1
403bdf:	6a 64                	push   $0x64
403be1:	be c8 ed 40 00       	mov    $0x40edc8,%esi
403be6:	5a                   	pop    %edx
403be7:	8b ce                	mov    %esi,%ecx
403be9:	e8 90 3d 00 00       	call   0x40797e
403bee:	51                   	push   %ecx
403bef:	51                   	push   %ecx
403bf0:	8b ce                	mov    %esi,%ecx
403bf2:	e8 ea 16 00 00       	call   0x4052e1
403bf7:	8b f8                	mov    %eax,%edi
403bf9:	eb 4d                	jmp    0x403c48
403bfb:	6a 00                	push   $0x0
403bfd:	6a 00                	push   $0x0
403bff:	6a 64                	push   $0x64
403c01:	be c8 ed 40 00       	mov    $0x40edc8,%esi
403c06:	5a                   	pop    %edx
403c07:	8b ce                	mov    %esi,%ecx
403c09:	e8 70 3d 00 00       	call   0x40797e
403c0e:	51                   	push   %ecx
403c0f:	51                   	push   %ecx
403c10:	8b ce                	mov    %esi,%ecx
403c12:	e8 a1 1c 00 00       	call   0x4058b8
403c17:	eb de                	jmp    0x403bf7
403c19:	8d 45 d4             	lea    -0x2c(%ebp),%eax
403c1c:	50                   	push   %eax
403c1d:	ff 15 f0 f0 40 00    	call   *0x40f0f0
403c23:	33 c0                	xor    %eax,%eax
403c25:	50                   	push   %eax
403c26:	50                   	push   %eax
403c27:	50                   	push   %eax
403c28:	8d 45 d4             	lea    -0x2c(%ebp),%eax
403c2b:	50                   	push   %eax
403c2c:	ff 15 f4 f0 40 00    	call   *0x40f0f4
403c32:	85 c0                	test   %eax,%eax
403c34:	75 e3                	jne    0x403c19
403c36:	8b ce                	mov    %esi,%ecx
403c38:	e8 5d 13 00 00       	call   0x404f9a
403c3d:	68 e8 03 00 00       	push   $0x3e8
403c42:	ff 15 58 f0 40 00    	call   *0x40f058
403c48:	8b ce                	mov    %esi,%ecx
403c4a:	e8 c9 12 00 00       	call   0x404f18
403c4f:	ff 15 10 f1 40 00    	call   *0x40f110
403c55:	83 3d c4 c5 40 00 00 	cmpl   $0x0,0x40c5c4
403c5c:	74 2d                	je     0x403c8b
403c5e:	a1 9c c0 40 00       	mov    0x40c09c,%eax
403c63:	33 f6                	xor    %esi,%esi
403c65:	8b 0d 98 c0 40 00    	mov    0x40c098,%ecx
403c6b:	50                   	push   %eax
403c6c:	51                   	push   %ecx
403c6d:	89 35 80 c0 40 00    	mov    %esi,0x40c080
403c73:	89 35 98 c0 40 00    	mov    %esi,0x40c098
403c79:	89 35 9c c0 40 00    	mov    %esi,0x40c09c
403c7f:	ff 15 24 f0 40 00    	call   *0x40f024
403c85:	89 35 c4 c5 40 00    	mov    %esi,0x40c5c4
403c8b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403c8e:	8b c7                	mov    %edi,%eax
403c90:	5f                   	pop    %edi
403c91:	33 cd                	xor    %ebp,%ecx
403c93:	5e                   	pop    %esi
403c94:	e8 c7 5b 00 00       	call   0x409860
403c99:	8b e5                	mov    %ebp,%esp
403c9b:	5d                   	pop    %ebp
403c9c:	8b e3                	mov    %ebx,%esp
403c9e:	5b                   	pop    %ebx
403c9f:	c2 10 00             	ret    $0x10
403ca2:	cc                   	int3
403ca3:	cc                   	int3
403ca4:	cc                   	int3
403ca5:	cc                   	int3
403ca6:	cc                   	int3
403ca7:	cc                   	int3
403ca8:	cc                   	int3
403ca9:	cc                   	int3
403caa:	cc                   	int3
403cab:	cc                   	int3
403cac:	cc                   	int3
403cad:	cc                   	int3
403cae:	cc                   	int3
403caf:	cc                   	int3
403cb0:	6a 0c                	push   $0xc
403cb2:	b8 e7 a3 40 00       	mov    $0x40a3e7,%eax
403cb7:	e8 7b 61 00 00       	call   0x409e37
403cbc:	8b 4d 10             	mov    0x10(%ebp),%ecx
403cbf:	85 c9                	test   %ecx,%ecx
403cc1:	75 0a                	jne    0x403ccd
403cc3:	b8 03 40 00 80       	mov    $0x80004003,%eax
403cc8:	e9 ae 00 00 00       	jmp    0x403d7b
403ccd:	33 c0                	xor    %eax,%eax
403ccf:	be 0e 00 07 80       	mov    $0x8007000e,%esi
403cd4:	6a 30                	push   $0x30
403cd6:	89 01                	mov    %eax,(%ecx)
403cd8:	89 75 ec             	mov    %esi,-0x14(%ebp)
403cdb:	89 45 e8             	mov    %eax,-0x18(%ebp)
403cde:	89 45 fc             	mov    %eax,-0x4(%ebp)
403ce1:	e8 6e 50 00 00       	call   0x408d54
403ce6:	8b d8                	mov    %eax,%ebx
403ce8:	59                   	pop    %ecx
403ce9:	85 db                	test   %ebx,%ebx
403ceb:	74 1f                	je     0x403d0c
403ced:	83 63 04 00          	andl   $0x0,0x4(%ebx)
403cf1:	8d 7b 08             	lea    0x8(%ebx),%edi
403cf4:	33 c0                	xor    %eax,%eax
403cf6:	6a 06                	push   $0x6
403cf8:	59                   	pop    %ecx
403cf9:	f3 ab                	rep stos %eax,%es:(%edi)
403cfb:	88 43 20             	mov    %al,0x20(%ebx)
403cfe:	89 43 28             	mov    %eax,0x28(%ebx)
403d01:	89 43 2c             	mov    %eax,0x2c(%ebx)
403d04:	c7 03 ec 15 40 00    	movl   $0x4015ec,(%ebx)
403d0a:	eb 10                	jmp    0x403d1c
403d0c:	33 db                	xor    %ebx,%ebx
403d0e:	eb 0c                	jmp    0x403d1c
403d10:	b8 16 3d 40 00       	mov    $0x403d16,%eax
403d15:	c3                   	ret
403d16:	8b 75 ec             	mov    -0x14(%ebp),%esi
403d19:	8b 5d e8             	mov    -0x18(%ebp),%ebx
403d1c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403d20:	85 db                	test   %ebx,%ebx
403d22:	74 55                	je     0x403d79
403d24:	8b 45 08             	mov    0x8(%ebp),%eax
403d27:	8d 4b 08             	lea    0x8(%ebx),%ecx
403d2a:	89 43 24             	mov    %eax,0x24(%ebx)
403d2d:	e8 81 1c 00 00       	call   0x4059b3
403d32:	8b f0                	mov    %eax,%esi
403d34:	85 f6                	test   %esi,%esi
403d36:	78 08                	js     0x403d40
403d38:	33 f6                	xor    %esi,%esi
403d3a:	c6 43 20 01          	movb   $0x1,0x20(%ebx)
403d3e:	85 f6                	test   %esi,%esi
403d40:	75 1b                	jne    0x403d5d
403d42:	ff 75 10             	push   0x10(%ebp)
403d45:	8b 03                	mov    (%ebx),%eax
403d47:	ff 75 0c             	push   0xc(%ebp)
403d4a:	53                   	push   %ebx
403d4b:	8b 30                	mov    (%eax),%esi