403863:	e8 9c 64 00 00       	call   0x409d04
403868:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40386f:	8b 45 e0             	mov    -0x20(%ebp),%eax
403872:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403875:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40387c:	59                   	pop    %ecx
40387d:	5f                   	pop    %edi
40387e:	5e                   	pop    %esi
40387f:	5b                   	pop    %ebx
403880:	c9                   	leave
403881:	c3                   	ret
403882:	6a 07                	push   $0x7
403884:	e8 f8 03 00 00       	call   0x403c81
403889:	56                   	push   %esi
40388a:	e8 cf 64 00 00       	call   0x409d5e
40388f:	ff 75 e0             	push   -0x20(%ebp)
403892:	e8 8b 64 00 00       	call   0x409d22
403897:	cc                   	int3
403898:	e8 1e 03 00 00       	call   0x403bbb
40389d:	e9 74 fe ff ff       	jmp    0x403716
4038a2:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4038a6:	8b c1                	mov    %ecx,%eax
4038a8:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4038ac:	c7 41 04 74 95 41 00 	movl   $0x419574,0x4(%ecx)
4038b3:	c7 01 68 94 41 00    	movl   $0x419468,(%ecx)
4038b9:	c3                   	ret
4038ba:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4038be:	8b c1                	mov    %ecx,%eax
4038c0:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4038c4:	c7 41 04 84 95 41 00 	movl   $0x419584,0x4(%ecx)
4038cb:	c7 01 80 93 41 00    	movl   $0x419380,(%ecx)
4038d1:	c3                   	ret
4038d2:	8d 41 04             	lea    0x4(%ecx),%eax
4038d5:	c7 01 88 94 41 00    	movl   $0x419488,(%ecx)
4038db:	50                   	push   %eax
4038dc:	e8 b8 13 00 00       	call   0x404c99
4038e1:	59                   	pop    %ecx
4038e2:	c3                   	ret
4038e3:	55                   	push   %ebp
4038e4:	8b ec                	mov    %esp,%ebp
4038e6:	83 ec 0c             	sub    $0xc,%esp
4038e9:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4038ec:	e8 b1 ff ff ff       	call   0x4038a2
4038f1:	68 14 fc 41 00       	push   $0x41fc14
4038f6:	8d 45 f4             	lea    -0xc(%ebp),%eax
4038f9:	50                   	push   %eax
4038fa:	e8 cb 12 00 00       	call   0x404bca
4038ff:	cc                   	int3
403900:	55                   	push   %ebp
403901:	8b ec                	mov    %esp,%ebp
403903:	83 ec 0c             	sub    $0xc,%esp
403906:	8d 4d f4             	lea    -0xc(%ebp),%ecx
403909:	e8 ac ff ff ff       	call   0x4038ba
40390e:	68 dc f8 41 00       	push   $0x41f8dc
403913:	8d 45 f4             	lea    -0xc(%ebp),%eax
403916:	50                   	push   %eax
403917:	e8 ae 12 00 00       	call   0x404bca
40391c:	cc                   	int3
40391d:	55                   	push   %ebp
40391e:	8b ec                	mov    %esp,%ebp
403920:	8b 45 08             	mov    0x8(%ebp),%eax
403923:	56                   	push   %esi
403924:	8b 48 3c             	mov    0x3c(%eax),%ecx
403927:	03 c8                	add    %eax,%ecx
403929:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40392d:	8d 51 18             	lea    0x18(%ecx),%edx
403930:	03 d0                	add    %eax,%edx
403932:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
403936:	6b f0 28             	imul   $0x28,%eax,%esi
403939:	03 f2                	add    %edx,%esi
40393b:	3b d6                	cmp    %esi,%edx
40393d:	74 19                	je     0x403958
40393f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403942:	3b 4a 0c             	cmp    0xc(%edx),%ecx
403945:	72 0a                	jb     0x403951
403947:	8b 42 08             	mov    0x8(%edx),%eax
40394a:	03 42 0c             	add    0xc(%edx),%eax
40394d:	3b c8                	cmp    %eax,%ecx
40394f:	72 0c                	jb     0x40395d
403951:	83 c2 28             	add    $0x28,%edx
403954:	3b d6                	cmp    %esi,%edx
403956:	75 ea                	jne    0x403942
403958:	33 c0                	xor    %eax,%eax
40395a:	5e                   	pop    %esi
40395b:	5d                   	pop    %ebp
40395c:	c3                   	ret
40395d:	8b c2                	mov    %edx,%eax
40395f:	eb f9                	jmp    0x40395a
403961:	56                   	push   %esi
403962:	e8 55 07 00 00       	call   0x4040bc
403967:	85 c0                	test   %eax,%eax
403969:	74 20                	je     0x40398b
40396b:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
403971:	be 34 1a 42 00       	mov    $0x421a34,%esi
403976:	8b 50 04             	mov    0x4(%eax),%edx
403979:	eb 04                	jmp    0x40397f
40397b:	3b d0                	cmp    %eax,%edx
40397d:	74 10                	je     0x40398f
40397f:	33 c0                	xor    %eax,%eax
403981:	8b ca                	mov    %edx,%ecx
403983:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
403987:	85 c0                	test   %eax,%eax
403989:	75 f0                	jne    0x40397b
40398b:	32 c0                	xor    %al,%al
40398d:	5e                   	pop    %esi
40398e:	c3                   	ret
40398f:	b0 01                	mov    $0x1,%al
403991:	5e                   	pop    %esi
403992:	c3                   	ret
403993:	55                   	push   %ebp
403994:	8b ec                	mov    %esp,%ebp
403996:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40399a:	75 07                	jne    0x4039a3
40399c:	c6 05 38 1a 42 00 01 	movb   $0x1,0x421a38
4039a3:	e8 40 05 00 00       	call   0x403ee8
4039a8:	e8 61 18 00 00       	call   0x40520e
4039ad:	84 c0                	test   %al,%al
4039af:	75 04                	jne    0x4039b5
4039b1:	32 c0                	xor    %al,%al
4039b3:	5d                   	pop    %ebp
4039b4:	c3                   	ret
4039b5:	e8 93 6a 00 00       	call   0x40a44d
4039ba:	84 c0                	test   %al,%al
4039bc:	75 0a                	jne    0x4039c8
4039be:	6a 00                	push   $0x0
4039c0:	e8 68 18 00 00       	call   0x40522d
4039c5:	59                   	pop    %ecx
4039c6:	eb e9                	jmp    0x4039b1
4039c8:	b0 01                	mov    $0x1,%al
4039ca:	5d                   	pop    %ebp
4039cb:	c3                   	ret
4039cc:	55                   	push   %ebp
4039cd:	8b ec                	mov    %esp,%ebp
4039cf:	80 3d 39 1a 42 00 00 	cmpb   $0x0,0x421a39
4039d6:	74 04                	je     0x4039dc
4039d8:	b0 01                	mov    $0x1,%al
4039da:	5d                   	pop    %ebp
4039db:	c3                   	ret
4039dc:	56                   	push   %esi
4039dd:	8b 75 08             	mov    0x8(%ebp),%esi
4039e0:	85 f6                	test   %esi,%esi
4039e2:	74 05                	je     0x4039e9
4039e4:	83 fe 01             	cmp    $0x1,%esi
4039e7:	75 62                	jne    0x403a4b
4039e9:	e8 ce 06 00 00       	call   0x4040bc
4039ee:	85 c0                	test   %eax,%eax
4039f0:	74 26                	je     0x403a18
4039f2:	85 f6                	test   %esi,%esi
4039f4:	75 22                	jne    0x403a18
4039f6:	68 3c 1a 42 00       	push   $0x421a3c
4039fb:	e8 f6 68 00 00       	call   0x40a2f6
403a00:	59                   	pop    %ecx
403a01:	85 c0                	test   %eax,%eax
403a03:	75 0f                	jne    0x403a14
403a05:	68 48 1a 42 00       	push   $0x421a48
403a0a:	e8 e7 68 00 00       	call   0x40a2f6
403a0f:	59                   	pop    %ecx
403a10:	85 c0                	test   %eax,%eax
403a12:	74 2b                	je     0x403a3f
403a14:	32 c0                	xor    %al,%al
403a16:	eb 30                	jmp    0x403a48
403a18:	83 c9 ff             	or     $0xffffffff,%ecx
403a1b:	89 0d 3c 1a 42 00    	mov    %ecx,0x421a3c
403a21:	89 0d 40 1a 42 00    	mov    %ecx,0x421a40
403a27:	89 0d 44 1a 42 00    	mov    %ecx,0x421a44
403a2d:	89 0d 48 1a 42 00    	mov    %ecx,0x421a48
403a33:	89 0d 4c 1a 42 00    	mov    %ecx,0x421a4c
403a39:	89 0d 50 1a 42 00    	mov    %ecx,0x421a50
403a3f:	c6 05 39 1a 42 00 01 	movb   $0x1,0x421a39
403a46:	b0 01                	mov    $0x1,%al
403a48:	5e                   	pop    %esi
403a49:	5d                   	pop    %ebp
403a4a:	c3                   	ret
403a4b:	6a 05                	push   $0x5
403a4d:	e8 2f 02 00 00       	call   0x403c81
403a52:	cc                   	int3
403a53:	6a 08                	push   $0x8
403a55:	68 30 fc 41 00       	push   $0x41fc30
403a5a:	e8 41 04 00 00       	call   0x403ea0
403a5f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403a63:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
403a68:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
403a6f:	75 5d                	jne    0x403ace
403a71:	a1 3c 00 40 00       	mov    0x40003c,%eax
403a76:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
403a7d:	45 00 00
403a80:	75 4c                	jne    0x403ace
403a82:	b9 0b 01 00 00       	mov    $0x10b,%ecx
403a87:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
403a8e:	75 3e                	jne    0x403ace
403a90:	8b 45 08             	mov    0x8(%ebp),%eax
403a93:	b9 00 00 40 00       	mov    $0x400000,%ecx
403a98:	2b c1                	sub    %ecx,%eax
403a9a:	50                   	push   %eax
403a9b:	51                   	push   %ecx
403a9c:	e8 7c fe ff ff       	call   0x40391d
403aa1:	59                   	pop    %ecx
403aa2:	59                   	pop    %ecx
403aa3:	85 c0                	test   %eax,%eax
403aa5:	74 27                	je     0x403ace
403aa7:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
403aab:	7c 21                	jl     0x403ace
403aad:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403ab4:	b0 01                	mov    $0x1,%al
403ab6:	eb 1f                	jmp    0x403ad7
403ab8:	8b 45 ec             	mov    -0x14(%ebp),%eax
403abb:	8b 00                	mov    (%eax),%eax
403abd:	33 c9                	xor    %ecx,%ecx
403abf:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
403ac5:	0f 94 c1             	sete   %cl
403ac8:	8b c1                	mov    %ecx,%eax
403aca:	c3                   	ret
403acb:	8b 65 e8             	mov    -0x18(%ebp),%esp
403ace:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403ad5:	32 c0                	xor    %al,%al
403ad7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403ada:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403ae1:	59                   	pop    %ecx
403ae2:	5f                   	pop    %edi
403ae3:	5e                   	pop    %esi
403ae4:	5b                   	pop    %ebx
403ae5:	c9                   	leave
403ae6:	c3                   	ret
403ae7:	55                   	push   %ebp
403ae8:	8b ec                	mov    %esp,%ebp
403aea:	e8 cd 05 00 00       	call   0x4040bc
403aef:	85 c0                	test   %eax,%eax
403af1:	74 0f                	je     0x403b02
403af3:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
403af7:	75 09                	jne    0x403b02
403af9:	33 c0                	xor    %eax,%eax
403afb:	b9 34 1a 42 00       	mov    $0x421a34,%ecx
403b00:	87 01                	xchg   %eax,(%ecx)
403b02:	5d                   	pop    %ebp
403b03:	c3                   	ret
403b04:	55                   	push   %ebp
403b05:	8b ec                	mov    %esp,%ebp
403b07:	80 3d 38 1a 42 00 00 	cmpb   $0x0,0x421a38
403b0e:	74 06                	je     0x403b16
403b10:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
403b14:	75 12                	jne    0x403b28
403b16:	ff 75 08             	push   0x8(%ebp)
403b19:	e8 41 69 00 00       	call   0x40a45f
403b1e:	ff 75 08             	push   0x8(%ebp)
403b21:	e8 07 17 00 00       	call   0x40522d
403b26:	59                   	pop    %ecx
403b27:	59                   	pop    %ecx
403b28:	b0 01                	mov    $0x1,%al
403b2a:	5d                   	pop    %ebp
403b2b:	c3                   	ret
403b2c:	55                   	push   %ebp
403b2d:	8b ec                	mov    %esp,%ebp
403b2f:	83 3d 3c 1a 42 00 ff 	cmpl   $0xffffffff,0x421a3c
403b36:	ff 75 08             	push   0x8(%ebp)
403b39:	75 07                	jne    0x403b42
403b3b:	e8 62 67 00 00       	call   0x40a2a2
403b40:	eb 0b                	jmp    0x403b4d
403b42:	68 3c 1a 42 00       	push   $0x421a3c
403b47:	e8 d3 67 00 00       	call   0x40a31f
403b4c:	59                   	pop    %ecx
403b4d:	f7 d8                	neg    %eax
403b4f:	59                   	pop    %ecx
403b50:	1b c0                	sbb    %eax,%eax
403b52:	f7 d0                	not    %eax
403b54:	23 45 08             	and    0x8(%ebp),%eax
403b57:	5d                   	pop    %ebp
403b58:	c3                   	ret
403b59:	55                   	push   %ebp
403b5a:	8b ec                	mov    %esp,%ebp
403b5c:	ff 75 08             	push   0x8(%ebp)
403b5f:	e8 c8 ff ff ff       	call   0x403b2c
403b64:	f7 d8                	neg    %eax
403b66:	59                   	pop    %ecx
403b67:	1b c0                	sbb    %eax,%eax
403b69:	f7 d8                	neg    %eax
403b6b:	48                   	dec    %eax
403b6c:	5d                   	pop    %ebp
403b6d:	c3                   	ret
403b6e:	55                   	push   %ebp
403b6f:	8b ec                	mov    %esp,%ebp
403b71:	83 ec 14             	sub    $0x14,%esp
403b74:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
403b78:	8d 45 f4             	lea    -0xc(%ebp),%eax
403b7b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
403b7f:	50                   	push   %eax
403b80:	ff 15 58 90 41 00    	call   *0x419058
403b86:	8b 45 f8             	mov    -0x8(%ebp),%eax
403b89:	33 45 f4             	xor    -0xc(%ebp),%eax
403b8c:	89 45 fc             	mov    %eax,-0x4(%ebp)
403b8f:	ff 15 54 90 41 00    	call   *0x419054
403b95:	31 45 fc             	xor    %eax,-0x4(%ebp)
403b98:	ff 15 50 90 41 00    	call   *0x419050
403b9e:	31 45 fc             	xor    %eax,-0x4(%ebp)
403ba1:	8d 45 ec             	lea    -0x14(%ebp),%eax
403ba4:	50                   	push   %eax
403ba5:	ff 15 4c 90 41 00    	call   *0x41904c
403bab:	8b 45 f0             	mov    -0x10(%ebp),%eax
403bae:	8d 4d fc             	lea    -0x4(%ebp),%ecx
403bb1:	33 45 ec             	xor    -0x14(%ebp),%eax
403bb4:	33 45 fc             	xor    -0x4(%ebp),%eax
403bb7:	33 c1                	xor    %ecx,%eax
403bb9:	c9                   	leave
403bba:	c3                   	ret
403bbb:	8b 0d c0 10 42 00    	mov    0x4210c0,%ecx
403bc1:	56                   	push   %esi
403bc2:	57                   	push   %edi
403bc3:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
403bc8:	be 00 00 ff ff       	mov    $0xffff0000,%esi
403bcd:	3b cf                	cmp    %edi,%ecx
403bcf:	74 04                	je     0x403bd5
403bd1:	85 ce                	test   %ecx,%esi
403bd3:	75 26                	jne    0x403bfb
403bd5:	e8 94 ff ff ff       	call   0x403b6e
403bda:	8b c8                	mov    %eax,%ecx
403bdc:	3b cf                	cmp    %edi,%ecx
403bde:	75 07                	jne    0x403be7
403be0:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
403be5:	eb 0e                	jmp    0x403bf5
403be7:	85 ce                	test   %ecx,%esi
403be9:	75 0a                	jne    0x403bf5
403beb:	0d 11 47 00 00       	or     $0x4711,%eax
403bf0:	c1 e0 10             	shl    $0x10,%eax
403bf3:	0b c8                	or     %eax,%ecx
403bf5:	89 0d c0 10 42 00    	mov    %ecx,0x4210c0
403bfb:	f7 d1                	not    %ecx
403bfd:	5f                   	pop    %edi
403bfe:	89 0d 00 11 42 00    	mov    %ecx,0x421100
403c04:	5e                   	pop    %esi
403c05:	c3                   	ret
403c06:	33 c0                	xor    %eax,%eax
403c08:	c3                   	ret
403c09:	33 c0                	xor    %eax,%eax
403c0b:	40                   	inc    %eax
403c0c:	c3                   	ret
403c0d:	b8 00 40 00 00       	mov    $0x4000,%eax
403c12:	c3                   	ret
403c13:	68 58 1a 42 00       	push   $0x421a58
403c18:	ff 15 5c 90 41 00    	call   *0x41905c
403c1e:	c3                   	ret
403c1f:	b0 01                	mov    $0x1,%al
403c21:	c3                   	ret
403c22:	68 00 00 03 00       	push   $0x30000
403c27:	68 00 00 01 00       	push   $0x10000
403c2c:	6a 00                	push   $0x0
403c2e:	e8 5c 68 00 00       	call   0x40a48f
403c33:	83 c4 0c             	add    $0xc,%esp
403c36:	85 c0                	test   %eax,%eax
403c38:	75 01                	jne    0x403c3b
403c3a:	c3                   	ret
403c3b:	6a 07                	push   $0x7